ohyeahhh
V2EX  ›  Java

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

  •  
  •   ohyeahhh · Sep 12, 2019 · 8749 views
    This topic created in 2609 days ago, the information mentioned may be changed or developed.
    14 replies  •  2019-09-12 17:29:28 +08:00
    feb30th
    feb30th
    Sep 12, 2019
    1
    org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice
    ohyeahhh
    ohyeahhh
    OP
    Sep 12, 2019
    2
    @feb30th 加了这个东西 但是它不走里面的方法是什么原因呢?
    feb30th
    feb30th
    Sep 12, 2019
    3
    @ohyeahhh @ControllerAdvice 加了吗?
    ohyeahhh
    ohyeahhh
    OP
    Sep 12, 2019
    4
    @feb30th 这个问题解决了 现在还有个问题是 ResponseBodyAdvice 这个它只能拦截到 controller 方法上带 @ResponseBody 的 拦截不到 @RestController 这种的
    xiaoyaojc
    xiaoyaojc
    Sep 12, 2019
    5
    可以先获取对应的 controller 类,然后再判断上面的注解吧,有一种是直接使用的,另一种是间接使用的,第二种你得遍历所有可能用到的注解,比较麻烦,暂时没更好的解决方案
    qbhy
    qbhy
    Sep 12, 2019
    6
    自己写个切面拦截所有控制器方法,然后方法返回都改成 object, 应该就可以再 @Around 随意更改响应了,具体可以参考 我这个项目 https://github.com/qbhy/apiboot
    qbhy
    qbhy
    Sep 12, 2019
    7
    关键点在于 aop、around
    avk458
    avk458
    Sep 12, 2019
    8
    aop 呗
    xaplux
    xaplux
    Sep 12, 2019
    10
    明显 AOP 么
    autogen
    autogen
    Sep 12, 2019
    11
    spring-aop
    shwomen1234fs
    shwomen1234fs
    Sep 12, 2019
    12
    ResponseBodyAdvice 就是 aop 啊, 而且也可以拦截 restcontroller, 楼主你确定做过测试吗?
    ohyeahhh
    ohyeahhh
    OP
    Sep 12, 2019
    13
    @shwomen1234fs 我试了 @ResponseBodyAdvice 确实拦截不到 @RestController 里面的方法
    isir1234
    isir1234
    Sep 12, 2019
    14
    supprt 方法怎么写的?
    代码贴出来看看吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3021 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 12:00 · PVG 20:00 · LAX 04:00 · JFK 07:00
    ♥ Do have faith in what you're doing.