So legen Sie ein benutzerdefiniertes Schema für benutzerdefinierte Remotemethoden in Strongloop fest

8

Ich bin ein Neuling in Strongloop und kann keine Informationen finden, wie ich meine Antwortklasse anpassen kann (Modellschema für ein Objekt, das ich erstellt habe) und ich weiß nicht, wie ich das Objekt mit benutzerdefinierten Daten im API-Explorer anzeigen kann .

Zum Beispiel habe ich eine benutzerdefinierte Remote-Methode namens score

%Vor%

Ich möchte für den Parameter data ein benutzerdefiniertes Modellschema anstelle von einzelnen Parametern anzeigen, nicht das Modellschema für die Herausforderung, die Daten im Rumpf haben alle Parameter und werden dem Benutzer im Datentyp: Modellschema angezeigt , ist das möglich?

%Vor%

Auf der anderen Seite möchte ich in der Antwortklasse das Schema für das Antwortobjekt anzeigen. Etwas wie das:

%Vor%

Ich habe verschiedene Fragen ( dies und dies ), kann aber nichts finden, um diese Probleme zu lösen .

Aktualisieren

Hier ist die Definition der Remote-Methode

%Vor%     
jrltt 04.03.2016, 09:41
quelle

4 Antworten

2

Die Lösung dieses Problems besteht darin, auf diese Weise ein neues Modell mit dem Helfer slc loopback: model

zu erstellen %Vor%

Und ich setze weiterhin Eigenschaften ein, dann auf Challenge.js:

%Vor%

Und das funktioniert! Wenn jemand einen besseren Weg kennt, dies zu tun, bitte teilen.

    
jrltt 19.04.2016, 07:44
quelle
7

Ich glaube, Sie haben vielleicht die offiziellen Dokumente von strongloop durchgesehen. Wenn nicht, hier ist der Link, der die Remote-Methoden und ihre akzeptierten Datentypen erklärt. Ссылка

Wenn Ihr benutzerdefiniertes Objekt Challenge ist, müssen Sie das Objekt als Antwort angeben, indem Sie den Typ angeben (der Typ kann entweder der Datentyp des Loopbacks oder ein benutzerdefiniertes Modell sein). Um Challenge zurückzugeben, müssen Sie folgenden Code hinzufügen:

%Vor%

Der zweite Pfeil, den Sie angegeben haben, sind die Standardwerte, die Sie mit Ihrem API-Aufruf testen möchten. Sie können eine benutzerdefinierte Zeichenfolge mit Standard als Schlüssel übergeben. Zum Beispiel, wenn Sie ein Objekt übergeben möchten:

%Vor%

Für die Antwort können Sie das Modell nicht anpassen. Aber um Standardwerte zu übergeben, können Sie alles in das String-Format einfügen.

    
Ankit Singh 15.04.2016 09:52
quelle
0

@jrltt Verwenden Sie anstelle von default die Objektstruktur, die auf type unter accepts verweist, und es sollte funktionieren. Beachten Sie, Ссылка wird benötigt.

Mit zufälligem Objekt:

%Vor%

Mit einem definierten Modell , das in model-config verfügbar ist oder mit dem Loopback-Modellgenerator erstellt wird, kann dieser Modellname für den Punkttyp verwendet werden. Lassen Sie uns also das User -Modell verwenden, um es im accept-Parameter

anzuzeigen %Vor%     
princecharmx 14.09.2017 10:53
quelle
0

Im Loopback können entfernte Argumente Datenmodelle identifizieren, die mit ds.define ('YourCustomModelName', dataFormat) definiert wurden;

Schreiben Sie für Ihren Fall eine Funktion in eine Challenge.js -Datei, für die eine Remote-Methode (in Ihrem Fall score ) definiert ist.

%Vor%

Unter "remote arguments" verwenden Sie "type": "YourCustomModelName"

%Vor%

Sie sollten es nach dem Neustart des Servers und der Aktualisierung auf dem Explorer sehen:)

    
princecharmx 28.10.2017 06:07
quelle