大家的restful 的地址是怎么带有版本号的

发布于 2022-09-04 16:05:45 字数 284 浏览 17 评论 0

请教一个问题,(大概意思就是:怎么让带有不同版本号的url地址访问不同的目录文件

大家写接口的路由怎么配置的,一直想不明白 restful 模式的版本号到底是配置在路由里面,还是怎么配置,目前我的是这样的,用的 tp5

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不可一世的女人 2022-09-11 16:05:45
  1. 制定版本并在版本之间平缓过渡对于设计和维护一套API是个巨大的挑战。所以,最好在设计之初就使用一些方法来预防可能会遇到的问题。
    为了避免API的变动导致用户使用中产生意外结果或调用失败,最好强制要求所有访问都需要指定版本号。请避免提供默认版本号,一旦提供,日后想要修改它会相当困难。

  2. 最适合放置版本号的位置URL中,或者是头信息(HTTP Headers)中在 Accept 段中使用自定义类型(content type)与其他元数据(metadata)一起提交。

https://api.example.com/v1/
或
Accept: application/vnd.heroku+json; version=3

详细的Restful API设计方案,可以参考我的文章:微服务指南走北(三):Restful API 设计简述

妄司 2022-09-11 16:05:45

一个很不错的问题。

直接在URL资源中控制版本号,不是很好的方案。因为对于客户而言一个URL应该是一个永久性,否则你的一次版本升级都会影响到客户的使用。其次,当一个API接口版本过多的时候,客户的升级又比较滞后的情况下,有可能会因为你对旧版本的删除而影响客户的使用。

所以,斯以为,如果需要版本号控制,可以在 headers 中体现。

https://domain.com/api/get/1
application/json; version=1.0

或,让URL始终有最新的永久性,而同时保持版本间的永久性。

假如你当前的版本号是 v2,那么对于最新版本有两个永久性链接:

-- 最新V2
https://domain.com/api/get/1 
-- 最新V2
https://domain.com/api/**v2**/get/1
-- 旧版本V1
https://domain.com/api/**v1**/get/1
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文