SpringMVC|SpringBoot请求参数校验

1.@RequestBody json请求体校验

@Valid|@Validated配合BindingResult校验@RequetBody请求实体

@Data
public class AppDto implements Serializable {

    @NotBlank(message = "应用名不能为空")
    private String appName;

    private Integer versionCode;

    private String versionName;

    @NotBlank(message = "描述不能为空")
    private String description;

    private int forceUpdate;

    @NotBlank(message = "下载链接不能为空")
    private String apkUrl;

}
public TResult updateOne(@PathVariable(AdminUrlConstants.ID) String id, @Valid @RequestBody AppDto dto, BindingResult bindingResult) { 
return iAppService.updateApp(id, dto); 
}

Controller方法或AOP

 if (bindingResult != null && bindingResult.hasErrors()) {
                    throw new TTAException(bindingResult.getFieldError().getField() + ResultCodeEnum.VALIDATE_ERR.getMsg()
                            + bindingResult.getFieldError().getDefaultMessage());
                }

 

2.@RequestParam @PathVariable参数校验

@Validated
public class UserController extends BaseController {
 @PostMapping(UrlConstants.USER_SET_NICK_PWD)
    public TResult setNickNameAndPassword(@NotBlank(message = "userId不能为空") @RequestParam(value = "userId") String userId,
                                          @Pattern(message = "不符合昵称规则(4~16位数字字母下划线)", regexp = RegexP.tAccount) @RequestParam(value = "nickName") String nickName,
                                          @Pattern(message = "不符合密码规则(6~16位数字字母下划线)", regexp = RegexP.passWord) @RequestParam(value = "password") String password,
                                          @RequestParam(value = "shareCode", required = false) String shareCode) {

3.@Valid @Validate区别,参考

https://blog.csdn.net/gaojp008/article/details/80583301

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值