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
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;
}
Or better yet, as Mack suggested in the comments, you can also extend the array interface, so your new type would have all the functionalities of an array.
export interface getPromotionsResponse extends Array<promotionCodes> {}