@ApiOperation、@ApiModelProperty、@Valid都是啥注解?

@ApiOperation

有什么用?

我看到的代码是写在controller层的方法上面。
这个注解是swagger包里的,所以肯定和接口有关,果然,是用来为接口添加说明的。

参数说明?

和@ApiOperation类似的还有@ApiParam,作用是为添加的API相关注解。
参数说明如下:

@ApiOperation(value = “接口说明”, 
              httpMethod = “接口请求方式”, 
              response = “接口返回参数类型”, 
              notes = “接口发布说明)
             
 
@ApiParam(required = “是否必须参数”, 
          name = “参数名称”, 
          value = “参数具体描述”)

怎么用?

用法举例:
controller层某个方法上:

@ApiOperation(value = "****", notes = "****")
@ResponseBody
@GetMapping(path = "/接口名")
public StdJsonFmt 方法名(HttpServletRequest request, @Valid 实体类 实体对象名) {

}

@ApiModelProperty

有什么用?

我看到的是写在实体类的属性上面,用来表示对model属性的说明或者数据操作的更改

参数说明?

@ApiModelProperty(value = “字段说明”, 
           		  name = “重写属性名字”, 
                  dataType= “重写属性类型”,
                  required= “是否必填”,
                  example= “举例说明”,
                  hidden= “隐藏”,)

怎么用?

用法举例:

public class User{
	@ApiModelProperty(value="用名",name="username",example="xingguo")
	private String username;
	@ApiModelProperty(value="状态",name="state",required=true)
	private Integer state;
	@ApiModelProperty(value="id数组",hidden=true)
	private String[] ids;
}

@Valid

有什么用?

我看到的是写在controller层方法的实体类参数前面,
用于验证注解是否符合要求,在实体类属性中添加验证信息的要求,当不符合要求时就会在方法中返回message 的错误提示信息

参数说明?

无参数

怎么用?

用法举例:
首先在实体类里对一些属性通过注解添加验证条件

public class User {
    private String id;  
 
    @NotBlank(message = "密码不能为空")
    private String password;
}

然后在controller层里用到该实体类作为方法参数时,添加@Valid注解验证实体属性是否满足验证条件

@RestController
@RequestMapping("/user")
public class UserController {
    @PostMapping
    public User create (@Valid @RequestBody User user) {
        System.out.println(user.getId());
        System.out.println(user.getUsername());
        System.out.println(user.getPassword());
        user.setId("1");
        return user;
    }
}    

密码如果为空的话,上面 Controller 中的 create 方法会返回message 中的"密码不能为空"。

补充:为实体属性添加验证条件的注解

参考https://blog.csdn.net/weixin_38118016/article/details/80977207
@valid注解参考https://blog.csdn.net/weixin_38118016/article/details/80977207

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值