文章目录
一种基于Spring Boot最简单的RESTFul接口版本管理
通过增加资源的表现形式来增加版本
背景
RESTFul学习不下于4次了,并不是每一次学习都有收货,但是总体下来还是有一些收货的。
网上绝大多数的文章理解不清楚,写得都不清楚,绝大多人应用也都不清楚。痛恨百度搜索,但是又没有自己的搜索。为了大家少走弯路直达罗马,这里我就简单写一点。
URI(Uniform Resource Identifier)资源与版本
RESTFul API其实定义的是资源,那么资源其实只有一个,而提供出去的API接口就可以有多个了。
我们在Controller中定义URI的时候心中要记住我是在定义资源,而版本需要独立于资源的形式存在。同一个资源的不同版本其实根本是在表达不同的表现。所以我们通过增加资源的表现形式来增加版本
Spring Boot的具体实现
增加produces
,格式Accept: application/vnd.company.app[.version].param[+json]
,其他格式Accept: vnd.company.app+json; version=1
。
至于version
是什么格式这个可以参考语义化版本,我给大家提供一个比较完整的