使用Spring Boot,如何分别处理正常请求和ajax请求之间的异常

时间:2015-06-18 07:56:16

标签: java ajax spring spring-mvc spring-boot

我正在使用Spring MVC和Spring Boot实现Java Web应用程序。

我想创建一个自定义错误页面(对于404,500错误),我尝试使用此处的解决方案: https://stackoverflow.com/a/27393578/2148445
它工作正常。但是,即使是我的ajax请求,它也会拦截所有404/500错误。我的Web应用程序基于ajax请求,所以当我调用API时,它会返回自定义错误页面而不是json响应。

我想:
     当正常请求>>转到自定义错误页面。
     当ajax请求>>以json对象的形式返回错误响应。

我试图找到其他方法,但到目前为止我无法得到好的解决方案。 我尝试使用@ExceptionHandler,但我的同事说它将覆盖Spring启动。

有没有办法解决这个问题?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

解决方案是发送" X-REQUESTED-WITH"带有值的标题" XMLHttpRequest"从浏览器进行ajax调用时。

在后端,您可以检查具有给定值的此标头是否可用于确定它是否是ajax调用。