Ich habe eine Schnittstelle zum Empfangen einer Antwort von einer HTTP-Anfrage erstellt. Die Antwort des Dienstes enthält viele Elemente, daher ist meine Benutzeroberfläche groß.

Schnittstelle

export interface LargeInterface {
    object_1: string;
    object_2: string;
    object_3: string;
    object_4: string;
    object_5: string;
    object_6: string;
    ...
    object_n: string;
}

Anruf

this.http.get<LargeInterface>( this.url, formData );

Ich möchte die Schnittstelle in Teile aufteilen, aber ich brauche, dass die get-Methode sie korrekt analysiert. Welches könnte eine gute Methode sein?

Ich habe es mit Vererbung versucht, aber ich denke, dass dies keine gute Vorgehensweise ist, da die Beziehung zwischen den Teilen der Schnittstelle nicht auf Vererbung basiert.

Danke im Voraus.

1
Ignacio Maestro 27 Aug. 2020 im 12:39

2 Antworten

Beste Antwort

Sie können Unterschnittstellen erstellen und zu einer kombinieren

interface Base_Data {
  object_1: string
}

interface Special_Data {
  object_2: string
}

interface LargeInterface extends Base_Data, Special_Data {
}

Und verwenden Sie sie wie vorgesehen

this.http.get<LargeInterface>( this.url, formData );
0
phhbr 27 Aug. 2020 im 10:14

Sie können Schnittstellen mit & kombinieren

interface I1 {
  object_1: string
}

interface I2 {
  object_2: string
}

type LargeInterface = I1 & I2
1
ccarton 27 Aug. 2020 im 10:03