Springboot集成Swagger使用
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。
1、配置pom.xml
<dependencies>
<!-- swagger -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.5.0</version>
</dependency>
<!-- swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.5.0</version>
</dependency>
</dependencies>
2、使用注解来进行启动swagger
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())//调用apiInfo方法,创建一个ApiInfo实例,里面是展示在文档页面信息内容
.select()
//控制暴露出去的路径下的实例
//如果某个接口不想暴露,可以使用以下注解
//@ApiIgnore 这样,该接口就不会暴露在 swagger2 的页面下
.apis(RequestHandlerSelectors.basePackage("old.friend.springboot.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页面标题
.title("swagger接口测试")
//条款地址
.termsOfServiceUrl("http://www.oldfriend.xyz/")
.version("1.0")
//描述
// .description("swagger接口测试")
.build();
}
}
3、配置Controller
@RestController
@Api(tags = "测试swagger接口")
public class TestController {
@ApiOperation("查询测试")
@GetMapping("/select")
@ApiImplicitParams({
@ApiImplicitParam(name="name",value="用户名",dataType="string", paramType = "query",example="xingguo"),
@ApiImplicitParam(name="id",value="用户id",dataType="long", paramType = "query")})
public List<Users> select(Long id,String name) {
return userService.select(id,name);
}
}
4、访问 http://localhost:8081/swagger-ui.html,可以看到如下效果
5、补充lombok
消除模板代码:getter、setter、构造器、toString()、equals() 。@Data注解代替
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>