加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长资讯 > 动态 > 正文

Restful 风格的 API 接口正确姿势

发布时间:2021-04-20 13:20:36 所属栏目:动态 来源:互联网
导读:@PostMapping( /batchUpdate ) public RbatchUpdate(@RequestBodyListCmsAppLicationEntitylist) 是不是感觉很熟悉的代码,难道写的不对?看着挺直观易懂的。如果采用 Restful 架构风格,上面这五种写法当然不对,这是对 Restful 架构风格不了解所致。 微信搜

  1. @PostMapping("/batchUpdate"
  2. public R batchUpdate(@RequestBody List<CmsAppLicationEntity> list)  

是不是感觉很熟悉的代码,难道写的不对?看着挺直观易懂的。如果采用 Restful 架构风格,上面这五种写法当然不对,这是对 Restful 架构风格不了解所致。

微信搜公众号「猿芯」,后台私信回复 1024 免费领取 SpringCloud、SpringBoot,微信小程序、Java面试、数据结构、算法等全套视频资料。

Restful 架构风格定义

  • “Restful 是一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

由于对 Restful 架构风格理解的不够透彻,一般会产生三种争议的设计误区。

  • 误区一 请求路径 URI 是动词,而不是名词问题
  • 误区二 URI中带版本号问题
  • 误区三 URI 中路径大小写问题

误区一 请求路径 URI 是动词,而不是名词问题

按照对 Restful 架构风格理解,每个业务实体代表一种资源,代表一个名词。

比方说,设计产品列表接口时:这种说法认为,在 URI 中加入版本避免了向后兼容,另外通过过期提示,重定向,文档等手段也能降低用户迁移到新的接口上的成本。

当然有人赞成在请求路径中加入版本号,也有人反对这种加版本号的做法,他们认为:

  • 加入版本号会让服务接口变得混乱,经常碰到的情况是,一些低版本的API接口调用一些高版本的API接口,导致数据解析错误,这无疑加大了用户迁移的成本。
  • 版本和资源的概念没有任何关系,因此在 URI 中加入版本会让用户混淆。

还有一种说法是,在路径中加版本号是错误的设计方式,在老外写的 Versioning REST Services 这篇文章指出,你应该在请求头的 Accept 指定你的版本号,而不是请求路径中。

例如:

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读