2016-11-23 78 views
0

爪哇Spring MVC的如何改变的“由客户机发送的请求是语法不正确的”

当发送无效请求(破JSON例如)提供给控制器的端点,该响应是弹簧默认MVC错误错误代码400 :

HTTP状态400:“由客户机发送的请求是语法不正确的” 这是在没有实际进入控制器动作返回。

因为我的端点是为第三方开放的我想覆盖这个错误代码(只有这种错误 - 并非来自端点的所有错误代码)并修改它。

覆盖该消息是可选的,但会是一个很好的补充。

**解释重复的标志:我知道如何设置一次请求土地的错误代码控制器动作,我所描述的问题是,由于语法不正确的请求不进入操作方法。

+0

你应该看看http://stackoverflow.com/questions/16232833/how-to-respond-with-http-400-error-in-a-spring-mvc-responsebody-method-returnin – Aks

+0

你可以使用过滤器 – cralfaro

+0

请检查我添加的说明部分。 @Aks –

回答

0

我认为这种错误消息是MethodArgumentNotValidException.class。 你可以使用一个控制器,顾问及更改返回错误代码:

@ControllerAdvice 
public class MyErrorHandler { 

    @ExceptionHandler(MethodArgumentNotValidException.class) 
    @ResponseStatus(HttpStatus.OK /*or your optional error code */) 
    @ResponseBody 
    public JPresent myHandler(MethodArgumentNotValidException ex) { 
    // handle error 
} 
0

添加以下代码在你的web.xml文件

<error-page> 
    <error-code>400</error-code> 
    <location>/WEB-INF/views/errorPages/page-error-400.jsp</location> 
</error-page> 

你可以做同样的事情,你想要的错误代码,其余处理

+0

已经得到了这个设置,这对这些错误没有帮助。 –

相关问题