1.导入相关依赖
<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>
需要注意版本,目前两个依赖包最新版本都是3.0.0,但是导入3.0.0之后http://localhost:8080/swagger-ui.html会报404错误。使用2.9.2即可。
2.在主配置类上添加@EnableSwagger2注解,开启swagger功能。
@SpringBootApplication
@EnableSwagger2
public class SwaggerDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SwaggerDemoApplication.class, args);
}
}
3.在网页输入http://localhost:8080/swagger-ui.html,即可查看相关文档信息。![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5c04d40860579d956d10ced7b2855dd2.png)
4.Swagger相关注解
4.1 @Api。用在类上,添加对类的注释。
4.2 @ApiParam用于Controller中方法的参数说明
4.3 @ApiOpreation用于Controller中方法的说明,说明方法的作用。
@Api(value = "用户controller", description = "对用户操作", tags = {"用户操作接口"})
@RestController
public class UserController {
@Autowired
private UserService userService;
@ApiOperation("查询全部用户")
@PostMapping("/queryUser")
public List<User> queryUser(){
List<User> userList = userService.queryUserList();
for (User user : userList) {
System.out.println(user);
}
return userList;
}
@ApiOperation("按ID查询用户")
@GetMapping("/queryUserById")
public User queryUserById(@ApiParam(name = "id", value = "用户id",required = true) int id){
User user = userService.queryUserById(id);
return user;
}
}
查看运行结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/827ad279cd0e5efc21ac06d85c1d5007.png)
4.4 @ApiModle添加在实体类上,用于说明该类是什么实体。
4.5 @ApiModleProperty用来说明实体类的属性字段。
4.6 @ApiResponse 和 @ApiResponses用于方法上,说明一些相应信息
4.7 @ApilmplicitParam和@ApilimplicitParam用于方法上,为单独的请求参数说明。
@ApiModel(description = "实体类用户")
public class User {
@ApiModelProperty(name = "id", value = "用户ID")
private int id;
@ApiModelProperty(name = "name", value = "用户名")
private String name;
@ApiModelProperty(name = "pwd", value = "密码")
private String pwd;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
查看结果:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a20397428db7b0a972622dbd4bf67904.png)