之前我们在写项目的实体类的时候,只是简单的写一个实体类,但是现在我们想要让实体类在swagger界面显示,

首先是写一个实体类
只要这个实体在请求接口的返回值上(即使是泛型),都能映射到实体项中:

@ApiModel("用户实体")
public class User {
   
    @ApiModelProperty("用户名")
    public String username;
    @ApiModelProperty("密码")
    public String password;
}

这个实体类上面的注解的意思,只是给这个类名,属性名的一个注释,可以让这个注释在swagger页面显示,好解释对应的这个是啥意思。

之后在controller层写一个接口,返回值是user对象

启动项目,我们就可以看到


注:并不是因为@ApiModel这个注解让实体显示在这里了,而是只要出现在接口方法的返回值上的实体都会显示在这里,而@ApiModel和@ApiModelProperty这两个注解只是为实体添加注释的。

@ApiModel为类添加注释

@ApiModelProperty为类属性添加注释4

swagger常用的注解

Swagger的所有注解定义在io.swagger.annotations包下

下面列一些经常用到的,未列举出来的可以另行查阅说明:

Swagger注解	简单说明
@Api(tags = "xxx模块说明")	作用在模块类上
@ApiOperation("xxx接口说明")	作用在接口方法上
@ApiModel("xxxPOJO说明")	作用在模型类上:如VO、BO
@ApiModelProperty(value = "xxx属性说明",hidden = true)	作用在类方法和属性上,hidden设置为true可以隐藏该属性
@ApiParam("xxx参数说明")	作用在参数、方法和字段上,类似@ApiModelProperty

这些注解除了在pojo层进行使用,还可以在controller层进行使用

@ApiOperation("接口")
@PostMapping("/jing")
@ResponseBody
public String jing(@ApiParam("这个名字会被返回")String username){
   
   return username;
}