Jas*_*ngh 11 rest node.js swagger
我需要对我的Node REST API进行版本控制.我使用swagger 2.0作为验证中间件和文档.目前我只有一个swagger yml文件,用于所有目的.
我正在使用url前缀(版本号:/ v1/.../v2/...等)来支持我的Node Rest API中的版本控制.我需要在任何时候支持多个版本.
feh*_*guy 19
Swagger没有指定版本控制方案只是因为没有单一的解决方案,强制一种方法使用规范是没有意义的.以下是我见过的常用技巧:
1)将您的身份验证绑定到版本.我认为这是处理版本控制的最酷方式,但也是支持和维护最昂贵的方法.例如,基于用于访问服务的api密钥,您可以跟踪他们期望访问的版本,并将其路由到正确的服务器.在这种情况下,您可以简单地运行多个服务,并使用不同的swagger定义.
2)使用路径部分指示版本.这意味着你有一个/v2或/v3在你的路径,并在此基础上,一些路由逻辑指向正确的服务器.再一次,一个单独的招摇定义.
3)基于某些标题,让用户选择要与之通话的服务器.这非常不直观,但它可以工作.你应该总是有一个默认版本(通常是最新版本)
也就是说,上述所有解决方案都意味着多个招摇文件.您可以使用$ ref语法来链接和重用规范的各个部分.
我相信使用swagger工具,您可以让多个实例监听请求.您只需要在它们前面有一个路由层来处理您选择的不同版本.
| 归档时间: |
|
| 查看次数: |
16308 次 |
| 最近记录: |