반응형
형식 지정 기능에서 2가지 유형을 반환하는 모범 사례?
나는 포스트를 수행하고 관측 가능한 모델을 반환하는 api 함수를 가지고 있다.AResponse(있는 인터페이스)
나는 두 개의 모델 중 하나를 관찰할 수 있는 것을 원한다.반환된 상태를 기준으로 AResponse 또는 B.
이것이 내 두 가지 반응 모델이다.
export interface ModelAResponse {
res: ModelA;
}
export interface ModelBResponse {
res: ModelB
}
(모델A, 모델B는 다른 클래스에 배치된 인터페이스)
그래서 나는 현재 a 모델의 반품을 한 번만 지원하고 있다.
public myApiFunc(req: MyRequestModel): Observable<ModelAResponse> {
...
this.http.post("my/api/path", req, {headers: myHeaders}),
(jsonReturned) => status === 200 ? {res: jsonReturned} : undefined);
...
}
이 펑크를 모델 중 하나를 반환하도록 변경하는 방법AResponse 또는 ModelBResponse는 활자 설명의 모범 사례 방식의 상태를 기반으로 하는가?
당신은 이것을 못합니다.Typecript는 빌드 시 정적 분석을 기반으로만 사물을 입력할 수 있으며, 어떤 사물을 설명해야 빌드 시 API 호출의 결과를 알 수 있는지 알 수 있지만 그렇지 않다.
가장 좋은 방법은 API 호출에서 다음 인터페이스 중 하나를 반환할 수 있음을 나타내는 것이다.
public myApiFunc(req: MyRequestModel): Observable<ModelAResponse | ModelBResponse>
하지만 그건 여전히 당신이 알아내야 할 필요가 있을거야A
또는B
런타임에
반응형
'IT이야기' 카테고리의 다른 글
Vue-Form-Wizard의 현재 단계 선택에 따라 동적으로 구성 요소 로드 (0) | 2022.03.10 |
---|---|
팬더를 사용하여 상관 행렬 플롯 (0) | 2022.03.10 |
Flux 아키텍처에서 클라이언트 측 라우팅/url 상태를 어떻게 관리하십니까? (0) | 2022.03.10 |
불변 위반:a 밖에서 사용하면 안 된다. (0) | 2022.03.10 |
react.js 인라인 스타일 모범 사례 (0) | 2022.03.09 |