gpt4 book ai didi

java - 如何在 Spring HandlerInterceptorAdapter 中将 header 添加到 http 响应?

转载 作者:行者123 更新时间:2023-11-30 10:41:49 25 4
gpt4 key购买 nike

在我的 Spring Boot 应用程序中,我试图在 afterCompletion() 中的响应中添加 header 我的方法HandlerInterceptorAdapter类。

Controller 返回 ResponseEntity<MyResource>对象如:

return new ResponseEntity<>(mr, HttpStatus.OK);

跟随 POST请求。

在拦截器中,当我尝试向响应添加 header 时,它没有被添加。

但是,当我更改我的 Controller 以返回这样的响应时:

return new ResponseEntity<>(HttpStatus.OK);

然后就可以了。

为什么只有在响应主体不存在时才能添加 header ?

有没有办法在响应体存在时添加它?

最佳答案

感谢 Ali Deghani 的评论,我被指出了正确的方向,并创建了一个扩展 AbstractMappingJacksonResponseBodyAdvice 类的新类(它在下面实现了 ResponseBodyAdvice)。

我也从 http://cubiccow.blogspot.co.za/2014/10/api-versioning-of-rest-services.html 得到了提示

这使我能够在 Controller 处理响应后,根据特定条件,使用新 header 成功修改响应。

关于java - 如何在 Spring HandlerInterceptorAdapter 中将 header 添加到 http 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38377351/

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