在Linux系统中对Swagger进行版本控制,通常涉及以下几个步骤:
git init
swagger.yaml
或 swagger.json
)添加到Git仓库中,并提交更改:git add swagger.yaml
git commit -m "Initial commit of Swagger definition"
swagger: '2.0'
或 openapi: 3.0.0
等字段来指定Swagger的版本。每次修改后都提交到Git仓库,并附上清晰的提交信息。git checkout -b feature/v1.1
# 在新分支上进行开发
git checkout main
git merge feature/v1.1
pom.xml
中添加SpringFox的依赖:<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket apiV1() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("v1")
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controller"))
.paths(PathSelectors.ant("/api/v1/**"))
.build();
}
@Bean
public Docket apiV2() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("v2")
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controller"))
.paths(PathSelectors.ant("/api/v2/**"))
.build();
}
}
@ApiExplorerSettings
注解来标记不同版本的API:@RestController
@RequestMapping("/api/v1")
@ApiExplorerSettings(groupName = "V1")
public class V1Controller {
// V1版本的API
}
@RestController
@RequestMapping("/api/v2")
@ApiExplorerSettings(groupName = "V2")
public class V2Controller {
// V2版本的API
}
通过上述方法,你可以在Linux上有效地对Swagger进行版本控制,确保API的变更历史清晰,便于团队协作和后续维护。