23.1 分组
Docket.groupName("mqy")
:设置 当前的 Docket 分组名 为 mqy。
那么 如果 每个 Docket 只能 设置 一个 groupName。那么 多个 Docket 不就是多个 groupName 嘛,也就是实现了 分组。
23.2 实体类配置和注释
我们会发现 打开 页面后,下面 有个 Models,这个 玩意是啥呢?其实 就是 实体类。
最简单的方式是:写一个 返回 实体类对象的 Controller
pojo 实体类
package top.muquanyu.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private String name;
private String pwd;
}
@PostMapping(value = "/user")
public User user(){
return new User();
}
通过 @ApiModel("该 API Model 的名字")
和@ApiModelProperty("解释这个属性是干嘛的")
对 model 添加注释。
package top.muquanyu.pojo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel("用户实体类")
public class User {
@ApiModelProperty("用户名")
private String name;
@ApiModelProperty("密码")
private String pwd;
}
通过 @ApiOperation("注释")
对 请求方法 添加注释。 和@ApiParam("注释")
给 方法的参数 添加注释。
@ApiOperation("Post 封装一个 User")
@PostMapping(value = "/postUser")
public User user(@ApiParam("用户名") String name, @ApiParam("密码") String pwd){
return new User(name,pwd);
}
如何 通过 非 对象 参数,然后 实现 传参的 Post 呢?
使用 @ApiImplicitParam 注解
设定 dataType = "参数类型", paramType = "query"
即可。
如果是 多个 参数 那么 就得用 @ApiImplicitParams 注解
@ApiOperation("Post 一个 User")
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "用户名", required = false, dataType = "String", paramType = "query")
, @ApiImplicitParam(name = "pwd", value = "密码", required = false, dataType = "String", paramType = "query")
})
@PostMapping(value = "/postUser")
public User user(@ApiParam("用户") String name, @ApiParam("密码") String pwd){
return new User(name,pwd);
}
Get 请求的话,其实 是不需要 @ApiImplicitParam 做限制的,但如果想要做限制也可以。
/*@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "用户名", required = false, dataType = "String", paramType = "path")
, @ApiImplicitParam(name = "pwd", value = "密码", required = false, dataType = "String", paramType = "path")
})*/
@GetMapping(value = "/getUser/{name}/{pwd}")
public User getUser(@PathVariable("name") String name, @PathVariable("pwd") String pwd){
return new User(name,pwd);
}