您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Spring MVC,接受JSON错误的POST请求会导致返回默认的400错误代码服务器页面

使用Spring MVC,接受JSON错误的POST请求会导致返回默认的400错误代码服务器页面

这是Spring的一个问题SPR-7439-JSON(jackson)@RequestBody编组抛出尴尬的异常- 在Spring 3.1M2中已通过org.springframework.http.converter.HttpMessageNotReadableException在消息正文丢失或无效的情况下让Spring抛出异常来解决

在您的代码中,您不能创建一个ResponseStatus因为它是抽象的,但是我测试了在Jetty 9.0.3.v20130506上运行的Spring 3.2.0.RELEASE在本地使用更简单的方法捕获此异常。

@ExceptionHandler({org.springframework.http.converter.HttpMessageNotReadableException.class})
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ResponseBody
public String resolveException() {
    return "error";
}

并且我收到了400状态“错误”的字符串响应。

该缺陷已在 Spring论坛帖子中进行了讨论。

我开始使用Jetty 9.0.0.M4进行测试,但是还有其他一些内部问题阻止@ExceptionHandler完成,因此根据您的容器(Jetty,Tomcat,其他)版本,您可能需要获得一个可以与任何版本完美配合的较新版本您正在使用的Spring版本。

Java 2022/1/1 18:15:17 有546人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶