SpringBoot参数绑定异常总结 - 图1

  • 无BindingResult,异常是都要抛出的。
  • @Min代表注解的条件约束不满足
    • ConstraintViolationException:表示约束不满足

SpringBoot参数绑定异常总结 - 图2

MethodArgumentNotValidException获取BindingResult

image.png

Spring Bean范畴校验

@Validated 要配置MethodvalidationPostProcessor【Spring对Service方法的校验】

  1. 配置MethodValidationPostProcessor

    1. @Configuration
    2. @EnableWebMvc
    3. public class WebMvcConfig extends WebMvcConfigurerAdapter {
    4. @Bean
    5. public MethodValidationPostProcessor mvcMethodValidationPostProcessor() {
    6. return new MethodValidationPostProcessor();
    7. }
    8. }
  2. Bean上设置@Validated 参数设置约束@Min等。

    1. @RestController
    2. @RequestMapping
    3. @Validated
    4. public class HelloController {
    5. @PutMapping("/hello/id/{id}/status/{status}")
    6. public Object helloGet(@Max(5) @PathVariable Integer id, @Min(5) @PathVariable Integer status) {
    7. return "hello world";
    8. }
    9. }

    Spring Bean校验异常要抛出ConstraintViolationException