如何使用带环回的 swagger.json 客户端?
How to use a swagger.json client with loopback?
当启动一个 LoopBack 应用程序并浏览到它的资源管理器视图时,我可以清楚地看到它在幕后使用了 swagger。 (甚至浏览器界面看起来都像是从 swagger 派生出来的 UI。)
此资源管理器组件不应在生产中使用。但是暴露的 swagger.json 路径在资源管理器中。我想要做的是 公开现有 LoopBack API 的 swagger.json,这样我就可以集成任何基于 swagger 的客户端 (比如 Swagger-js ) 在 前端 级别。
LoopBack 包含使用 Swagger 规范和 swagger 生成器生成 API 的方法。它还包括连接到具有 swagger 规范的现有 API 的工具。这些不是我的问题。
我终于想出了自己怎么做。
首先,有一个导出命令swagger.json。参见:Documentation
lb export-api-def --json -o \"./client/swagger.json\"
这会将 swagger.json 保存在客户端文件夹中。
由于有点长,我把它添加到npm scripts:
"swagger": "lb export-api-def --json -o \"./client/swagger.json\""
然后我们必须设置环回服务器来提供静态文件,以便我们可以公开 swagger.json
。参见:Static Middleware
"files": {
"loopback#static": {
"params": "$!../client"
}
}
现在,由于 URL 可用于 swagger.json,因此可以使用 swagger 客户端访问 API。
var swaggerClient = new SwaggerClient(specUrl);
当启动一个 LoopBack 应用程序并浏览到它的资源管理器视图时,我可以清楚地看到它在幕后使用了 swagger。 (甚至浏览器界面看起来都像是从 swagger 派生出来的 UI。)
LoopBack 包含使用 Swagger 规范和 swagger 生成器生成 API 的方法。它还包括连接到具有 swagger 规范的现有 API 的工具。这些不是我的问题。
我终于想出了自己怎么做。
首先,有一个导出命令swagger.json。参见:Documentation
lb export-api-def --json -o \"./client/swagger.json\"
这会将 swagger.json 保存在客户端文件夹中。
由于有点长,我把它添加到npm scripts:
"swagger": "lb export-api-def --json -o \"./client/swagger.json\""
然后我们必须设置环回服务器来提供静态文件,以便我们可以公开 swagger.json
。参见:Static Middleware
"files": {
"loopback#static": {
"params": "$!../client"
}
}
现在,由于 URL 可用于 swagger.json,因此可以使用 swagger 客户端访问 API。
var swaggerClient = new SwaggerClient(specUrl);