如何解决如何使用带有现有 swagger.json 的 swagger-ui-dist 从基于 hapi 的服务器提供 swagger ui?
我的项目的要点:
- TypeScript 服务器端 Web 服务器项目(非 SPA)
- 从同一服务器提供 ui 和我的 api
- 所有 API 路由都通过路径
/api/v2
- 使用 hapi 作为服务器
- 使用tsoa生成两个我的hapi路线和我的
swagger.json
- 我在运行时的 swagger 规范内容可在
/swagger
注意:请不要将我指向 hapi-swagger,因为我目前更喜欢 tsoa
的路由生成,这与 hapi-swagger
不兼容。 >
我想在 /api-docs
的服务器上提供 swagger ui,以便它描述我的 swagger.json
。
docs 表示我应该使用 swagger-ui-dist
通过利用其 getAbsoluteFSPath()
方法来静态提供其内容。我很高兴这样做,但我就是不知道如何配置 swagger-ui-dist
以使用 my swagger 规范,可在 /swagger
获得。 index.html
处的 node_modules/swagger-ui-dist
包括以下内容:
<body>
<div id="swagger-ui"></div>
<script src="./swagger-ui-bundle.js" charset="UTF-8"> </script>
<script src="./swagger-ui-standalone-preset.js" charset="UTF-8"> </script>
<script>
window.onload = function() {
// Begin Swagger UI call region
const ui = SwaggerUIBundle({
url: "https://petstore.swagger.io/v2/swagger.json",dom_id: '#swagger-ui',deepLinking: true,presets: [
SwaggerUIBundle.presets.apis,SwaggerUIStandalonePreset
],plugins: [
SwaggerUIBundle.plugins.DownloadUrl
],layout: "StandaloneLayout"
})
// End Swagger UI call region
window.ui = ui
}
</script>
前面提到的 docs 说要静态地提供目录 node_modules/swagger-ui-dist
,但他们没有说明如何配置 SwaggerUIBundle
的 url
指向从提供该内容的同一服务器提供的 /swagger
。我觉得复制内容不是你应该做的。
我如何从我的服务器提供 swagger ui 以便它显示 my swagger 的文档并允许该 ui 的用户通过 swagger ui 的 Try it out
功能调用端点?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。