Springboot 或SpringMVC Controller層請求參數包含Date類型,傳入參數爲“yyyy-MM-dd HH:mm:ss”格式的日期,報錯如下:
org.springframework.validation.BeanPropertyBindingResult: 1 errors
解決方法:
在Springboot 或SpringMVC Controller層添加如下代碼即可:
@InitBinder
public void init(WebDataBinder binder) {
binder.registerCustomEditor(Date.class,
new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"), true));
}
@InitBinder是給Binder做初始化的,被此註解的方法可以對WebDataBinder初始化。webDataBinder是用於表單到方法的數據綁定的,@InitBinder只在@Controller中註解方法來爲這個控制器註冊一個綁定器初始化方法,方法只對本控制器有效。