在controller里面我们一般都要做参数检验,参数输入不正确可能导致数据不合理或者运行异常,本文主要介绍如何使用@Validated注解做请求参数的校验
目录
get请求和post请求
在controller的类上加上@Validated注解
@Validated
@RestController
@RequestMapping("/good")
public class ParasCheckController {
}
get请求参数校验
这里以使用RESTfull风格的API接口为例,下面是对goodNo参数的校验,当goodNo不为6位长度的数字时,会抛出ConstraintViolationException异常
@GetMapping("/good/{goodNo}")
public BRB good(@Pattern(regexp = "^[0-9]{6}$", message = "商品编号不正确") @PathVariable("goodNo") String goodNo) {
log.info("TAG=good, METHOD=get, goodNo={}", goodNo);
return new BRB(BRStatus.SUCCESS, "获取商品goodNo=" + goodNo + "信息");
}
post请求参数校验
接口如下,
@PostMapping
public BRB good(@RequestBody @Valid GoodReq goodReq, BindingResult bindingResult) {
log.info("TAG=good, METHOD=post, goodNo={}, goodName={}, goodPrice={}", goodReq.getGoodNo(