首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

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

  •  
  •   ohyeahhh · 36 天前 · 2276 次点击
    这是一个创建于 36 天前的主题,其中的信息可能已经有所发展或是发生改变。
    14 回复  |  直到 2019-09-12 17:29:28 +08:00
        1
    feb30th   36 天前
    org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice
        2
    ohyeahhh   36 天前
    @feb30th 加了这个东西 但是它不走里面的方法是什么原因呢?
        3
    feb30th   36 天前
    @ohyeahhh @ControllerAdvice 加了吗?
        4
    ohyeahhh   36 天前
    @feb30th 这个问题解决了 现在还有个问题是 ResponseBodyAdvice 这个它只能拦截到 controller 方法上带 @ResponseBody 的 拦截不到 @RestController 这种的
        5
    xiaoyaojc   36 天前
    可以先获取对应的 controller 类,然后再判断上面的注解吧,有一种是直接使用的,另一种是间接使用的,第二种你得遍历所有可能用到的注解,比较麻烦,暂时没更好的解决方案
        6
    qbhy   36 天前
    自己写个切面拦截所有控制器方法,然后方法返回都改成 object, 应该就可以再 @Around 随意更改响应了,具体可以参考 我这个项目 https://github.com/qbhy/apiboot
        7
    qbhy   36 天前
    关键点在于 aop、around
        8
    avk458   36 天前
    aop 呗
        9
    Diod   36 天前
        10
    xaplux   36 天前
    明显 AOP 么
        11
    autogen   36 天前
    spring-aop
        12
    shwomen1234fs   36 天前
    ResponseBodyAdvice 就是 aop 啊, 而且也可以拦截 restcontroller, 楼主你确定做过测试吗?
        13
    ohyeahhh   35 天前
    @shwomen1234fs 我试了 @ResponseBodyAdvice 确实拦截不到 @RestController 里面的方法
        14
    isir1234   35 天前
    supprt 方法怎么写的?
    代码贴出来看看吧
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4089 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 08:38 · PVG 16:38 · LAX 01:38 · JFK 04:38
    ♥ Do have faith in what you're doing.