다음 인터페이스는 JSON API 응답을 정의하는 데 사용됩니다.
상태 필드는 요청이 성공했는지 여부를 알려줍니다.
데이터 필드는 요청이 성공하면 서버에서 반환 한 데이터 (사용 가능한 경우에만)를 설정하는 데 사용됩니다.
마찬가지로 메시지 필드는 실패한 요청시 오류 메시지를 설정하는 데 사용됩니다.TypeScript 컴파일러 : Generics를 사용할 때 컴파일러 오류를 방지하는 방법
export interface IResponse<T> {
status: 'success' | 'fail';
data?: T;
message?: string;
}
서버에서 일부 회사 데이터를 가져 오는 다음과 같은 기능이 있다고 가정합니다.
응답에 데이터 또는 문자열이 포함되어 있습니다. 다음과 같이 내가이 함수를 호출 할 때
search(keyword: string): Observable<IResponse<ICompany[]|string>> {
return this.searchCompany(keyword);
}
는, 나도 ICompany [] 또는 문자열 수 데이터 같은 컴파일 오류가 발생합니다.
this.dataImportService.search('')
.subscribe(
data => {
data.data[0].company_name // compile error
}, err => {
});
이 컴파일 오류를 제거하려면 어떻게해야합니까?
당신이'data.data [0] .company_name' 사용해 볼 수 있습니까? –
@BunyaminCoskuner 죄송합니다, 그 ". 데이터"부분을 놓쳤습니다. data.data [0] .xxx를 사용하여 컴파일러 오류가 발생합니다. –