2017-07-16 41 views
2

當啓動一個LoopBack應用程序並瀏覽到其資源管理器視圖時,我可以清楚地看到它在幕後使用Swagger。 (即使瀏覽器界面看起來像是來自於Swagger UI)如何使用帶回環的swagger.json客戶端?

Swagger 此瀏覽器組件不應該用於生產。但暴露的swagger.json路徑在資源管理器中。我想要做的是公開現有LoopBack API的swagger.json,以便我可以在前端級別集成任何基於swagger的客戶端(如Swagger-js)。

LoopBack包括使用Swagger規格生成API的方式。它還包括連接到現有的API的設施,以及大量的規格。這些都不是我的問題。

回答

0

最後我想出瞭如何自己做。

首先,有一個命令來導出swagger.json。請參閱:Documentation
lb export-api-def --json -o \"./client/swagger.json\"
這會將swagger.json保存在客戶端文件夾中。
既然是有點長,我將它添加到NPM腳本:
"swagger": "lb export-api-def --json -o \"./client/swagger.json\""

然後我們必須設置回送服務器爲靜態文件,這樣我們可以公開swagger.json。請參閱:現在Static Middleware

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

,因爲有可供swagger.json一個網址,一個招搖的客戶端可以用來訪問API。
var swaggerClient = new SwaggerClient(specUrl);