要想通过swagger自动生成接口文档,首先在pom中添加依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.0</version>
</dependency>
然后在启动类中开启swgger支持即可。
@SpringBootApplication
@EnableSwagger2
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
如果显示不方便,需要对接口和参数添加描述,可以在接口前使用注解:@ApiOperation(value = "接口说明")
关于参数的描述信息,可以在参数对应的对象的属性中添加 @ApiModelProperty(value = "属性的描述")
或在对应的参数前添加:@ApiParam(value = "参数描述")
@NotBlank(message = "用户名不能为空")
@ApiModelProperty(value = "用户名")
private String userName;
@MyConstraint
@ApiModelProperty(value = "用户密码")
private String password;
@ApiModelProperty(value = "用户id")
private String id;
@Past(message = "生日必须是过去的时间")
@ApiModelProperty(value = "用户生日")
private Date birthday;
@GetMapping("/user/{id:\\d+}")
@JsonView(UserDto.userDatailView.class)
@ApiOperation(value = "按ID查询用户信息")
public UserDto userInfoById(@ApiParam(value = "用户ID") @PathVariable String id) {
UserDto u = new UserDto();
u.setUserName("aaaWith1");
u.setPassword("123");
u.setId("1");
return u;
}