SpringMVC 拦截器如何获取 @ResponseBody 的返回值?

2019 年 9 月 12 日
 ohyeahhh
8245 次点击
所在节点    Java
14 条回复
feb30th
2019 年 9 月 12 日
org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice
ohyeahhh
2019 年 9 月 12 日
@feb30th 加了这个东西 但是它不走里面的方法是什么原因呢?
feb30th
2019 年 9 月 12 日
@ohyeahhh @ControllerAdvice 加了吗?
ohyeahhh
2019 年 9 月 12 日
@feb30th 这个问题解决了 现在还有个问题是 ResponseBodyAdvice 这个它只能拦截到 controller 方法上带 @ResponseBody 的 拦截不到 @RestController 这种的
xiaoyaojc
2019 年 9 月 12 日
可以先获取对应的 controller 类,然后再判断上面的注解吧,有一种是直接使用的,另一种是间接使用的,第二种你得遍历所有可能用到的注解,比较麻烦,暂时没更好的解决方案
qbhy
2019 年 9 月 12 日
自己写个切面拦截所有控制器方法,然后方法返回都改成 object, 应该就可以再 @Around 随意更改响应了,具体可以参考 我这个项目 https://github.com/qbhy/apiboot
qbhy
2019 年 9 月 12 日
关键点在于 aop、around
avk458
2019 年 9 月 12 日
aop 呗
Diod
2019 年 9 月 12 日
xaplux
2019 年 9 月 12 日
明显 AOP 么
autogen
2019 年 9 月 12 日
spring-aop
shwomen1234fs
2019 年 9 月 12 日
ResponseBodyAdvice 就是 aop 啊, 而且也可以拦截 restcontroller, 楼主你确定做过测试吗?
ohyeahhh
2019 年 9 月 12 日
@shwomen1234fs 我试了 @ResponseBodyAdvice 确实拦截不到 @RestController 里面的方法
isir1234
2019 年 9 月 12 日
supprt 方法怎么写的?
代码贴出来看看吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/600261

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX