通过此文您将学到
-
为什么我们需要对RESTful API 进行版本控制?
-
可用的版本控制有哪些?
-
如何实现基于 Restful 的版本控制?
为什么我们需要对RESTful API进行版本化
最好的版本控制方法是不进行版本控制。只要不需要版本控制,就不要版本控制。
“构建向后兼容的服务,以便尽可能避免版本控制!
”
然而,在许多情况下我们都需要进行版本控制,然我们看看下面具体的例子:
最初,你有个这个版本的Student服务,返回数据如下:
{
"name": "Bob Charlie"
}
后来,您希望将学生的名字拆分,因此创建了这个版本的服务。
{
"name": {
"firstName": "Bob",
"lastName": "Charlie"
}
}
您可以从同一个服务支持这两个请求,但是随着每个版本的需求多样化,它会变得越来越复杂。
在这种情况下,版本控制就成必不可少,强制性的了。
接下来让我们创建一个简单的SpringBoot的maven项目,并理解对 RESTful 服务进行版本控制的4种不同方法。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</