1 springboot
关于后台提供API 在进行数据交互时,由于前台传递时间的参数 导致 Spring boot 工程直接触发异常的解决
直接复制下方代码;拷到你后台控制器里就可以,Spring boot 会自动去校验,【注】该注解仅作用于当前控制器
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.registerCustomEditor(Boolean.class, "enabled", new CustomBooleanEditor("Y", "N", true));
DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
binder.registerCustomEditor(Date.class, new CustomDateEditor(fmt, true));
}
2 spring @InitBinder,WebBindingInitializer
@InitBinder用于在@Controller中标注于方法,表示为当前控制器注册一个属性编辑器或者其他,只对当前的Controller有效
WebBindingInitializer:实现WebBindingInitializer,重写initBinder注册的属性编辑器是全局的属性编辑器,对所有的Controller都有效
自定义springMVC的属性编辑器主要有两种方式,一种是使用@InitBinder标签在运行期注册一个属性编辑器,这种编辑器只在当前Controller里面有效;还有一种是实现自己的 WebBindingInitializer,然后定义一个AnnotationMethodHandlerAdapter的bean,在此bean里面进行注册 ,这种属性编辑器是全局的。