首页 文章

如何为托管的Swagger API生成实时Swagger API页面?

提问于
浏览
0

我使用Swagger创建了一个API .

我的客户可以拨打我的服务电话

https://theservice.com/data/items/category1/12345

这很好,工作正常 .

但是,我希望有一个页面,他们可以看到所有可用的API调用,类似于Swagger在SwaggerEditor app上生成它的方式 . 例如,访问 https://theservice.com/index.html 我希望他们看到API文档 .

是否有可能(在Swagger内)在实时系统上执行此操作(不仅仅是我已经知道的 swagger project edit 本地)?如果有,怎么样?

2 回答

  • 3

    我想你要找的是swagger-ui,这是一个例子:http://petstore.swagger.io/

    如您所见,它不仅列出了所有可用的API endpoints ,还允许访问者(开发人员)直接在网页中进行尝试 .

  • 1

    听起来您正在使用Swagger Editor来描述您的API,然后使用内置生成器生成一些脚手架代码 . 从您的标签,我认为这是node.js代码 . 你已经这样做过了 . )

    如果这是正确的,那么您正在寻找的交互式Swagger-UI文档应该在 /docs endpoints 生成的API中提供,相对于正在运行的服务的基本URL .

    生成的node.js项目包含您在编辑器中创建的Swagger规范,并使用Swagger-Tools来执行运行时魔术 . 除此之外,Swagger-Tools将您的Swagger规范自动连接到 /docs endpoints ,并根据Swagger规范中提供的信息管理对生成的控制器的请求路由 .

    请注意, /docs 页面的外观和行为与您在Swagger编辑器中看到的文档小部件略有不同 . 应用程序中的一个使用Swagger-UI,它是文档的运行时组件,具有交互式沙盒测试 . Swagger-Editor有自己的内置文档UI,目前尚未打包,以便在Swagger-Editor之外使用 .

    如果您已经实现了一个独立于Swagger编辑器和代码生成器的API,您仍然可以生成node.js代码,以了解如何将Swagger-Tools合并到您现有的API实现中 . 或者,如wing328所示,请查看Swagger-UI以了解如何添加自己的文档页面 .

相关问题