spring boot的接口参数校验
@Api(tags= {"校验案例接口"})
@RestController
@RequestMapping("/validate")
@Validated
public class ValidateDemoController {
@Autowired
private IValidateDemoService validateDemoService;
/**
* 校验名称接口
* @param name
* @return
*/
@ApiOperation(value="校验名称接口",httpMethod = "GET")
@ApiImplicitParams({
@ApiImplicitParam(name="name", value="名称", dataType = "String", required=true, paramType = "query")
})
@GetMapping("/name")
public Object validateName(@NotBlank(message = "名称不能为空") String name) {
return validateDemoService.validateName(name);
}
/**
* 校验test对象接口
* @param param
* @return
*/
@ApiOperation(value="校验test对象接口",httpMethod = "Post")
@PostMapping("/name")
public Object validateTest(@RequestBody @Valid Test param) {
return validateDemoService.validateTest(param);
}
}
接口通过注解进行校验,在统一异常返回那进行处理,然后返回对应的code。需要注意的事,对於单个字段校验,需要在类上加上@Validated注解。对于对象里的字段校验,需要加上@Valid注解。