swagger2 常用注解

一、@Api
@Api注解放在类上面,这里的value是没用的,tags表示该controller的介绍。

二 、@ApiOperation
@ApiOperation注解用于放在方法上面,其中value是说明该类的作用,notes一般是该方法的详细描述。

三、@RequestMapping、@GetMapping、@PostMapping、@PutMapping、@DeleteMapping
定义前端访问的url,可以写在控制类上,也可以写在控制类汇总的方法上面,常用的的写在控制类上面,一般会与它的衍生注解组合使用:
@GetMapping 查询请求
@PostMapping 添加请求
@PutMapping 修改请求
@DeleteMapping 删除请求

以上方法的使用

//说明该类的作用
@Api(tags = "学生信息")
//指明该类为控制器
@RestController
//设置请求路径url
@RequestMapping("/student")
public class StudentController {
   /**
     * 根据id查询学生信息
     * @param id 学生id
     * @return
    */
    @ApiOperation(value = "根据id查询学生信息")
    @GetMapping("/query/{id}")
    private List<Student> queryById( @ApiParam(value = "学生id", required = true) @PathVariable("id") Long id) {
        List<Student> studentList = studentService.queryById(id);
        return studentList;
    }
}

swagger-ui展示结果如下:
在这里插入图片描述
四、@ApiParam
该注解用在方法的参数中,属性有:
name:api参数的英文名
value:api参数的描述
required:true表示参数必输,false标识参数非必输,默认为非必输
此注解通常与@RequestParam或者@PathVariable集合使用,因为它的作用只是定义每个参数(因此可以不使用,但是为了方便测试,加上效果更好),如果要获取前端的参数还需要通过@RequestParam或者@PathVariable来获取

五、@PathVariable
获取get请求url路径上的参数,即参数绑定的作用,通俗的说是url中"?"前面绑定的参数

六、@RequestParam
获取前端传过来的参数,可以是get、post请求,通俗的说是url中"?"后面拼接的每个参数

七、@ApiImplicitParam 与 @ApiImplicitParams
@ApiImplicitParam注解用于表明前端传入的
name参数的名字,
required是否为必需项,
以及dataType参数类型,
以及paramType传递方式(query表示使用url问号的方式传参,这种比较常用,如果使用formData的方式进行传参,那么paramType的值为 form).
当有多个参数时,需要用@ApiImplicitParams将@ApiImplicitParam包起来

以上方法的使用

@ApiImplicitParams({
            @ApiImplicitParam(name = "code", value = "学生编号", paramType = "query", required = true),
            @ApiImplicitParam(name = "name", value = "学会姓名", paramType = "query")
    })
    @ApiOperation(value = "查询学生信息")
    @PostMapping("/query/student")
    private String queryStudent(@RequestParam String code, @RequestParam String name) {
        studentService.queryStudent(code,name);
        return "query success";
    }

swagger-ui展示结果如下:
在这里插入图片描述
对实体类操作的注解
一、ApiModel
 该注解用在实体类上。

value: 实体类名称
description: 实体类描述
parent: 集成的父类,默认为Void.class
subTypes: 子类,默认为{}
reference: 依赖,默认为“”

二、ApiModelProperty
 该注解用在实体类的字段中。

name: 属性名称
value: 属性值
notes: 属性注释
dataType: 数据类型,默认为“”
required: 是否必须,默认为false
hidden: 是否隐藏该字段,默认为false
readOnly: 是否只读,默认false
reference: 依赖,,默认“”
allowEmptyValue: 是否允许空值,默认为false
allowableValues: 允许值,默认为“”

以上注解使用方法

@ApiModel(description= "返回列表查询结果集")
public class DataGrid {

	@ApiModelProperty(value = "查询记录总数")
	private Long total = 0L;
	@ApiModelProperty(value = "当前查询到的记录列表")
	private List<?> rows = new ArrayList<>();
	private List<?> footer = new ArrayList<>();

swagger-ui展示结果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值