La API devuelve una respuesta como esta:
[ { "id": "string", "code": "string", "name": "string", } ]Así por ejemplo será
[ { "id": "abc", "code": "CODE1", "name": "name1", }, { "id": "cdf", "code": "CODE2", "name": "name2", } ]¿Cómo lo almaceno en una interfaz mecanografiada? Inicialmente lo probé así
export interface promotionCodes { id: string, code: string, name: string, } export interface getPromotionsResponse { data: promotionCodes[] }y lo llamo como:
return await this.get<getPromotionsResponse>( `myurl`, );Pero no creo que esto funcione ya que no tengo nada llamado 'datos' devueltos en mi llamada, pero no estoy seguro de cómo almacenarlo. Gracias por cualquier ayuda
Puede crear un type que sea una matriz del otro tipo:
export type getPromotionsResponse = promotionCodes[]; Si tiene que crear una interface y no un type , deberá hacerlo así:
export interface getPromotionsResponse { [index: number]: promotionCodes; }O mejor aún, como sugirió Mack en los comentarios, también puede ampliar la interfaz de matriz, de modo que su nuevo tipo tenga todas las funcionalidades de una matriz.
export interface getPromotionsResponse extends Array<promotionCodes> {}Debe usar genéricos mecanografiados para este propósito. Aquí está el enlace a los documentos: https://www.typescriptlang.org/docs/handbook/2/generics.html