#typescript #interface
#typescript #интерфейс
Вопрос:
Я создал интерфейс для получения ответа от HTTP-запроса. В ответе службы много элементов, поэтому мой интерфейс большой.
Интерфейс
export interface LargeInterface {
object_1: string;
object_2: string;
object_3: string;
object_4: string;
object_5: string;
object_6: string;
...
object_n: string;
}
Вызов
this.http.get<LargeInterface>( this.url, formData );
Я хочу разделить интерфейс на части, но мне нужно, чтобы метод get правильно его анализировал. Какой может быть хороший метод?
Я пробовал с наследованием, но я думаю, что это не очень хорошая практика, потому что связь между частями интерфейса не основана на наследовании.
Заранее спасибо.
Ответ №1:
Вы можете комбинировать интерфейсы с amp;
interface I1 {
object_1: string
}
interface I2 {
object_2: string
}
type LargeInterface = I1 amp; I2
Ответ №2:
Вы можете создавать вспомогательные интерфейсы и объединять их в один
interface Base_Data {
object_1: string
}
interface Special_Data {
object_2: string
}
interface LargeInterface extends Base_Data, Special_Data {
}
и используйте их по назначению
this.http.get<LargeInterface>( this.url, formData );