JAVA获取response返回数据_SpringMVC拦截器获取@Response的返回值

在项目开发中,有时候我们需求在拦截器中获取@responsebody的返回值,但是在我的知识体系中没有方法获取,(除非研究源码),但是在springMVC4版本以后,新加了一个@ControllerService注解。用此注解然后实现ResponseBodyAdvice接口可获取带有@responsebody的返回值,然后操作。

然后在springmvc拦截器中afterCompletion的方法中进行获取。

@Override

public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

// 将handler强转化为handlermethod

HandlerMethod handlerMethod = (HandlerMethod) handler;

// 从方法处理器中获取要调用的方法

Method method = handlerMethod.getMethod();

//获取返回结果

Object result = request.getAttribute("response");

//获取当前类

Class> clazz = method.getDeclaringClass();

//获取当前的类名

String className = clazz.getName();

//获取当前的方法名

String methodName = method.getName();

//转化为json

String jsonResult = "";

if(result != null) {

jsonResult = JSON.toJSONString(result);

}

}

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值