The api returns a response like this:
[
{
"id": "string",
"code": "string",
"name": "string",
}
]
So for example it will be
[
{
"id": "abc",
"code": "CODE1",
"name": "name1",
},
{
"id": "cdf",
"code": "CODE2",
"name": "name2",
}
]
How do I store it in a typescript interface? I initially tried it like this
export interface promotionCodes {
id: string,
code: string,
name: string,
}
export interface getPromotionsResponse {
data: promotionCodes[]
}
and I call it as:
return await this.get<getPromotionsResponse>(
`myurl`,
);
But I don't think this will work since I don't have anything named 'data' being returned in my call but I'm not sure how else to store it? Thanks for any help
CodePudding user response:
You should use typescript generics for this purpose Here is the link to the docs: https://www.typescriptlang.org/docs/handbook/2/generics.html
CodePudding user response:
You can create a type
that is an array of the other type:
export type getPromotionsResponse = promotionCodes[];
If you have to create an interface
and not a type
, you'll need to do it like this:
export interface getPromotionsResponse {
[index: number]: promotionCodes;
}