gpt4 book ai didi

rest - Spring mvc 拦截器 : access to ResponseEntity in postHandle

转载 作者:行者123 更新时间:2023-12-04 14:49:07 24 4
gpt4 key购买 nike

我有一个记录 Spring MVC 响应结果的拦截器。我的所有响应都返回具有 JSON 正文内容的 ResponseEntity 对象。

我想从 ResponseEntity 中获取响应正文和 http 状态。

如何从 postHandle 方法属性访问 ResponseEntity?

public void postHandle(HttpServletRequest request, 
HttpServletResponse response,
Object handler,
ModelAndView modelAndView) {}

对于我的调用,modelAndView 属性为空。

谢谢,
杰森

最佳答案

当你写下你的问题时,我认为这是不可能的,但现在是了。
来自他们的文档 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-handlermapping-intercepto

“请注意,HandlerInterceptor 的 postHandle 方法并不总是非常适合与 @ResponseBody 和 ResponseEntity 方法一起使用。在这种情况下,HttpMessageConverter 在调用 postHandle 之前写入并提交响应,这使得无法更改响应,例如添加一个 header 。相反,应用程序可以实现 ResponseBodyAdvice 并将其声明为 @ControllerAdvice bean 或直接在 RequestMappingHandlerAdapter 上配置它“

关于rest - Spring mvc 拦截器 : access to ResponseEntity in postHandle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10018727/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com