2017-07-16 7 views
2

Wenn ich eine LoopBack-Anwendung starte und zu ihrer Explorer-Ansicht navigiere, kann ich klar erkennen, dass sie Swagger hinter den Kulissen verwendet. (Auch die Explorer-Oberfläche sieht so aus, als wäre sie von der swagger-Benutzeroberfläche abgeleitet.)Wie benutze ich einen swagger.json Client mit Loopback?

Swagger Diese Explorer-Komponente sollte nicht in der Produktion verwendet werden. Aber der exposed swagger.json Pfad ist innerhalb des Explorers. Was ich tun möchte, ist , um eine swagger.json einer vorhandenen LoopBack-API zu offenbaren, so dass ich jeden prahlerbasierten Client (wie Swagger-js) unter der Front-End-Ebene integrieren kann.

LoopBack enthält Möglichkeiten zum Generieren von API mit Swagger-Spezifikationen mit Swagger-Generator. Es enthält auch die Möglichkeit, eine Verbindung zu vorhandenen APIs mit Swagger-Spezifikationen herzustellen. Das kommt nicht in Frage.

Antwort

0

Endlich habe ich herausgefunden, wie es mir geht.

Zuerst gibt es einen Befehl, um swagger.json zu exportieren. Siehe: Documentation
lb export-api-def --json -o \"./client/swagger.json\"
Dies wird die swagger.json im Client-Ordner speichern.
Da es ein wenig lang ist, habe ich es zu npm Skripte:
"swagger": "lb export-api-def --json -o \"./client/swagger.json\""

Dann haben wir die Einrichtung Loopback-Server statische Dateien zu dienen, damit wir swagger.json aussetzen können. Siehe: Static Middleware

"files": { 
    "loopback#static": { 
    "params": "$!../client" 
    } 
} 

Nun, da gibt es eine URL für swagger.json verfügbar ist, kann ein Prahlerei-Client verwendet werden, um die API zuzugreifen.
var swaggerClient = new SwaggerClient(specUrl);

Verwandte Themen