pom.xml
<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.8.0</version>
</dependency>
### 配置
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("xxx接口文档")
.description("xxx接口文档")
.termsOfServiceUrl("localhost")
.version("1.0")
.build();
}
}
### 实体
@Data
@ApiModel
public class User {
@ApiModelProperty("用户id")
private int id;
@ApiModelProperty("用户姓名")
private String name;
@ApiModelProperty("用户地址")
private String address;
}
### controller
@RestController
@RequestMapping("/user")
@Api(tags = "用户相关接口",description = "提供相关API")
public class UserController {
@ApiOperation("新增用户接口")
@PostMapping("/add")
public boolean adduser(@RequestBody User user){
return false;
}
@ApiOperation("通过id查用户")
@PostMapping("/find/{id}")
public User findById(@PathVariable("id") int id){
return new User();
}
}
### 启动项目 ·访问http://localhost:8020/swagger-ui.html#/

注解
@Api: 描述 Controller
@ApiIgnore: 忽略该 Controller,指不对当前类做扫描
@ApiOperation: 描述 Controller类中的 method接口
@ApiParam: 单个参数描述,与 @ApiImplicitParam不同的是,他是写在参数左侧的。如( @ApiParam(name="username",value="用户名")Stringusername)
@ApiModel: 描述 POJO对象
@ApiProperty: 描述 POJO对象中的属性值
@ApiImplicitParam: 描述单个入参信息
@ApiImplicitParams: 描述多个入参信息
@ApiResponse: 描述单个出参信息
@ApiResponses: 描述多个出参信息
@ApiError: 接口错误所返回的信息