如何在SpringMVC中处理日期绑定失败异常?

时间:2019-03-16 05:45:17

标签: spring-mvc jackson-databind

    @PostMapping("/subscribe/add")
    Subscribe add(@RequestBody Subscribe sub) throws BindException {
        return sub;
    }

Subscribe有一个字段:

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private LocalDate subDate;

当我传递一个无效的日期(例如"abc")时,我得到了HttpMessageNotReadableException例外。我无法从HttpMessageNotReadableException获得任何有用的消息,该消息可以发送给客户端以告诉用户“您应该传递类似yyyy-MM-dd的日期”。

1 个答案:

答案 0 :(得分:0)

可能是使用@ExceptionHandler捕获HttpMessageNotReadableException并将其转换为更明确的HTTP代码错误和适当的消息

类似的东西

@org.springframework.web.bind.annotation.ExceptionHandler(IllegalArgumentException.class)
public void handleIllegalArgument(HttpServletResponse res, Exception e)
        throws IOException {
    res.sendError(HttpServletResponse.SC_BAD_REQUEST, e.getMessage());
}