#код Типизация ответа от API с единой базой
К примеру у вас есть API (чаще сторонее), которое возвращает схожий ответ для разных методов, который выглядит следующим образом:
То есть у вас общая база, но отличатеся поле data для разных методов. Как лучше типизировать? На помощь приходят generic:
Таким образом для каждого метода мы может наследоваться от базы, передавая в качесте generic интерфейс данных который возвращает каждый метод.
К примеру у вас есть API (чаще сторонее), которое возвращает схожий ответ для разных методов, который выглядит следующим образом:
{
"status": 200,
"requestsUsed
": 10
"data": { ... }
}
То есть у вас общая база, но отличатеся поле data для разных методов. Как лучше типизировать? На помощь приходят generic:
// base.ts
class Base<T> {
status: number;
requestsUsed: number;
data: T;
}
// first-method.ts
class FirstMethodData {
// тут описываем интерфейс данных
}
class FirstMethod extends Base<FirstMethodData> {}
Таким образом для каждого метода мы может наследоваться от базы, передавая в качесте generic интерфейс данных который возвращает каждый метод.