如何使用带有环回的swagger.json客户端?

时间:2017-07-16 06:32:00

标签: javascript rest swagger loopback

当启动LoopBack应用程序并浏览到其资源管理器视图时,我可以清楚地看到它在幕后使用招摇。 (即使是探索器界面看起来像是从swagger UI派生的。)

Swagger 此资源管理器组件不应在生产中使用。但暴露的swagger.json路径是在资源管理器内部。我想要做的是公开现有LoopBack API的swagger.json,以便我可以在前端集成任何基于swagger的客户端(如Swagger-js级别。

LoopBack包含使用带有swagger生成器的Swagger规范生成API的方法。它还包括连接到具有swagger规范的现有API的工具。这些都不是我的问题。

1 个答案:

答案 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);