当启动一个LoopBack应用程序并浏览到它的资源管理器视图时,我可以清楚地看到它在幕后使用了swagger。(甚至资源管理器界面看起来也是从swagger派生出来的。)
不应在生产中使用此资源管理器组件。但是公开的swagger.json路径在资源管理器中。我想要做的是,公开一个现有LoopBack API的swagger.json,这样我就可以在前端级别上集成任何基于傲慢的客户端(比如昂首阔步)。
LoopBack包括使用Swagger规范和swagger生成器生成API的方法。它还包括连接到现有API的工具,这些API具有更好的规范。这是我不可能的。
发布于 2017-08-26 07:33:54
最后我自己想出了办法。
首先,有一个导出swagger.json的命令。请参阅:文档
lb export-api-def --json -o \"./client/swagger.json\"
这将在客户端文件夹中保存swagger.json。
因为它有点长,所以我将它添加到npm脚本中:
"swagger": "lb export-api-def --json -o \"./client/swagger.json\""
然后,我们必须设置回送服务器来提供静态文件,以便公开swagger.json
。请参阅:静态中间件
"files": {
"loopback#static": {
"params": "$!../client"
}
}
现在,由于有一个swagger.json可用的URL,所以可以使用一个swagger客户机来访问API。
var swaggerClient = new SwaggerClient(specUrl);
https://stackoverflow.com/questions/45125766
复制相似问题