Как правильно обрабатывать вложенные универсальные типы в Typescript - PullRequest
0 голосов
/ 21 октября 2019

Я работаю над добавлением типов для 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 
}

Является ли это правильным способом обработки такого типа вложений универсальных типов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...