之前我们在写项目的实体类的时候,只是简单的写一个实体类,但是现在我们想要让实体类在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;
}