2017-07-16 37 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);