Java Spring MVC
当向控制器端点发送无效请求(例如,损坏的JSON)时,响应为:
HTTP状态400:"客户端发送的请求在语法上不正确" 这是在没有实际进入控制器动作的情况下返回的。
由于我的端点是为第三方开放的,我想覆盖这个错误代码(只有这种错误 - 不是来自端点的所有错误代码)并修改它。
覆盖邮件是可选的,但这是一个很好的补充。
**解释重复标记:我知道在请求进入控制器操作后如何设置错误代码,我所描述的问题是请求没有进入操作方法,因为语法不正确。< / p>
答案 0 :(得分: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
}
答案 1 :(得分:0)
在web.xml文件中添加此代码
<error-page>
<error-code>400</error-code>
<location>/WEB-INF/views/errorPages/page-error-400.jsp</location>
</error-page>
您可以对要处理的其余错误代码执行相同的操作