参数校验Validation注解
| 注解 | 功能 |
|---|---|
| @AssertFalse | 可以为null,如果不为null的话必须为false |
| @AssertTrue | 可以为null,如果不为null的话必须为true |
| @DecimalMax | 设置不能超过最大值 |
| @DecimalMin | 设置不能超过最小值 |
| @Digits | 设置必须是数字且数字整数的位数和小数的位数必须在指定范围内 |
| @Future | 日期必须在当前日期的未来 |
| @Past | 日期必须在当前日期的过去 |
| @Max | 最大不得超过此最大值 |
| @Min | 最大不得小于此最小值 |
| @NotNull | 不能为null,可以是空 |
| @Null | 必须为null |
| @Pattern | 必须满足指定的正则表达式 |
| @Size | 集合、数组、map等的size()值必须在指定范围内 |
| 必须是email格式 | |
| @Length | 长度必须在指定范围内 |
| @NotBlank | 字符串不能为null,字符串trim()后也不能等于“” |
| @NotEmpty | 不能为null,集合、数组、map等size()不能为0;字符串trim()后可以等于“” |
| @Range | 值必须在指定范围内 |
| @URL | 必须是一个URL |
ResponseBodyAdvice
实现ResponseBodyAdvice接口再配合@ControllerAdvice注解可拦截并自定义response返回的结果。
SpringMVC返回json报错(坑!!!)
为让springmvc返回json(spring版本5.3.8),在pom中引入依赖
1 | <dependency> |
自定义转换器(非必须)
1 | /** |
修改springmvc配置
1 | <mvc:annotation-driven> |
结果报错
1 | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter': Cannot create inner bean 'com.czm.converter.MyHttpMessageConverter#0' of type [com.czm.converter.MyHttpMessageConverter] while setting bean property 'messageConverters' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.czm.converter.MyHttpMessageConverter#0': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [com.czm.converter.MyHttpMessageConverter] from ClassLoader [ParallelWebappClassLoader |
百度好久。最终发现json包没引入lib目录下(原因不知)!!!手动添加即可。


