Я работаю над добавлением типов для API. Я использовал axios
для обработки HTTP-запроса. Axios
улучшил отклик и добавил туда много информации. Наш внутренний ответ также добавляет к нему некоторую оперативную информацию. У этого есть части данных и часть статуса также. Теперь, если я хочу правильно набрать свои ответы API, мне нужно вложить один общий тип в другой. Я с удовольствием обращаюсь с этим, но у него есть формат Promise<AxiosResponse<IApiResponse<RealData>>>
, который выглядит как вложенный. Это правильный способ справиться с набором текста?
Вот пример, который я пробовал и работал
export const getHealth = (): Promise<
AxiosResponse<IApiResonseData<Health>>
> => axios.get("/HealthStatus");
export interface AxiosResponse<T = any> {
data: T;
status: number;
statusText: string;
headers: any;
config: AxiosRequestConfig;
request?: any;
}
interface IApiResonseData<T = any> {
result: T;
status: IApiGenericStatus;
}
interface IApiGenericStatus {
code: number;
description: string;
text: "SUCCESS";
severity: "NORMAL";
}
interface Health{
// whatever types it has
}
Является ли это правильным способом обработки такого типа вложений универсальных типов?