springboot整合Swagger2
前言
最近在做一些demo,测试接口的时候总是有些麻烦,于是就引入了Swagger。
添加相关的maven依赖
需要添加 springfox-swagger2 和 springfox-swagger-ui,可以自己去maven中央仓库去搜一下,我这里提供一下用的最多的版本:
<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>
将swagger交给spring管理
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Springboot利用swagger构建api文档")
.description("简单优雅的restful风格")
.version("1.0")
.build();
}
}
编写controller
@RestController
@RequestMapping("/common")
@Api(tags = "测试swagger")
public class CommonController {
@ApiOperation("测试swagger接口")
@RequestMapping("/test")
public ResponseData<String> test(@RequestParam String str) {
return new ResponseData<>("111", "success", str);
}
}
public class ResponseData<T> {
private String code;
private String msg;
private T data;
public ResponseData() {
}
public ResponseData(String code, String msg, T data) {
this.code = code;
this.msg = msg;
this.data = data;
}
}
访问
在浏览器中访问"http://localhost:8080/swagger-ui.html",注意端口和你项目启动的端口保持一致即可。