当启动LoopBack应用程序并浏览到其资源管理器视图时,我可以清楚地看到它在幕后使用招摇。 (即使是探索器界面看起来像是从swagger UI派生的。)
此资源管理器组件不应在生产中使用。但暴露的swagger.json路径是在资源管理器内部。我想要做的是公开现有LoopBack API的swagger.json,以便我可以在前端集成任何基于swagger的客户端(如Swagger-js) 级别。
LoopBack包含使用带有swagger生成器的Swagger规范生成API的方法。它还包括连接到具有swagger规范的现有API的工具。这些都不是我的问题。
答案 0 :(得分: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\""
然后我们必须设置loopback服务器来提供静态文件,以便我们可以公开swagger.json
。请参阅:Static Middleware
"files": {
"loopback#static": {
"params": "$!../client"
}
}
现在,由于有一个可用于swagger.json的URL,因此可以使用一个swagger客户端来访问API。
var swaggerClient = new SwaggerClient(specUrl);