- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试实现一个 @ControllerAdvice
来全局处理与我的 Web 应用程序相关的一些一般异常。我想发送一个包装好的 JSON 响应,并相应地设置响应状态。这是一个代码示例。
@ControllerAdvice
public class GlobalErrorHandler {
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler(Exception.class)
@ResponseBody
public Response handleAllErrors() {
Response wrapped = new Response(HttpServletResponse.SC_BAD_REQUEST, "error");
wrapped.setMessage("Could not retrieve data");
return wrapped;
}
}
Response
是一个用于包装响应的 POJO。问题是,尽管有 @ResponseStatus
注释,响应始终具有状态代码 500(内部服务器错误),默认错误页面显示堆栈跟踪。甚至 @ResponseBody
似乎也不起作用。但是 documentation声明我可以在 @ExceptionHandler
方法上发送 JSON 响应。我不明白我在这里做错了什么。
我正在使用 Spring 3.2.8 发布框架,如果重要的话,Gson 用于消息转换。
如有任何帮助,我们将不胜感激。
最佳答案
发现问题。这是因为没有定义Response POJO的所有getter和setter。
关于spring - @ResponseStatus 和@ResponseBody 不适用于@ExceptionHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27332695/
我有带有自定义异常的代码: @ResponseStatus(value = BAD_REQUEST, reason = "Login is busy") public class LoginI
我正在使用以下代码处理我的受控异常: @ExceptionHandler(MyException.class) @ResponseStatus(HttpStatus.NOT_FOUN
我不知道为什么,但 @ControllerAdvice覆盖在 Exception 处定义的响应代码级别使用 @ResponseStatus注解。 异常(exception) : @ResponseSt
我正在尝试为我的自定义异常提供动态消息,如下面的代码片段所示: @ResponseStatus(value = HttpStatus.NOT_FOUND, reason = "Entity not f
我正在使用 ServiceStack,但无法让自动注入(inject)的 ResponseStatus 属性处理我的响应 DTO。我的响应 DTO 实现了 IHasResponseStatus 但它不
使用@ResponseStatus 允许在 Spring 中设置 Rest 响应的状态。但是,这如何用于可能来自同一请求的不同类型的状态呢? 例如, Controller 中有一个方法可能会返回 20
关于我所拥有的和我正在努力实现的信息 我正在使用 ServiceStack 并将其启动并运行以满足我的需要,但是我无法找到如何为未捕获的异常禁用 Body/Content。 我有 ServiceSta
我创建了一个自定义 @ResponseStatus 异常,并希望它作为 @RestController 的 json 响应以及响应负载返回。 @ResponseStatus(HttpStatus.BA
在我的 Spring API 中,我想使用 Spring 的注解 @ResponseStatus 来处理创建、放置和删除等操作的响应。每个端点都正常工作,但它们总是返回空响应。 为什么带注释的端点的响
是否需要 ResponseStatus? wiki 说我们需要在我们的响应 DTO 中有一个 ResponseStatus 属性来处理异常序列化: https://github.com/Service
我真的不确定使用Spring 3.2 MVC是否可行。 我的 Controller 有一个声明如下的方法: @RequestMapping(method = RequestMethod.GET) @R
我需要以 Response 类格式返回一些内容,但我有一个 SAMLResult 变量,因此当我获取状态 (ResponseStatus) 时,我不知道找不到任何方法将其解析为 Response 变量
我开发了一个从我的 ServiceStack 服务中抛出的自定义异常。状态代码和描述已正确映射,但内部“statusCode”值始终显示为“0”。 下面是我如何实现我的异常: public class
我有 @ControllerAdvice 类,它处理一组异常。我们还有一些其他异常,这些异常用 @ResponseStatus 注释进行注释。为了结合这两种方法,我们使用博客文章中描述的技术:http
我在异常中使用 Spring 注释 @ResponseStatus @ResponseStatus(value=HttpStatus.UNAUTHORIZED) public class Unauth
介绍 在 Spring 中,我们可以通过多种方式设置 HTTPResponse 的状态。在本教程中,我们将使用 Spring ResponseStatus 注解来实现这一点。 我们可以使用@Respo
我尝试实现一个 @ControllerAdvice 来全局处理与我的 Web 应用程序相关的一些一般异常。我想发送一个包装好的 JSON 响应,并相应地设置响应状态。这是一个代码示例。 @Contro
我想阻止 spring 将完整的 Runtimexceptions 堆栈跟踪发送到前端。我做了这样的事情: @ControllerAdvice public class RestErrorHandle
这是我目前所拥有的: Controller : public abstract class MyController { @ExceptionHandler(Exception.class)
我正在学习 Spring Core 认证,我对 Spring 如何处理 REST 请求有一些疑问。 我知道在 REST 中,资源作为名称公开,并且对这些资源的操作是 HTTP 方法,例如 GET、PU
我是一名优秀的程序员,十分优秀!