我是靠谱客的博主 飞快麦片,这篇文章主要介绍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);

}

}

最后

以上就是飞快麦片最近收集整理的关于JAVA获取response返回数据_SpringMVC拦截器获取@Response的返回值的全部内容,更多相关JAVA获取response返回数据_SpringMVC拦截器获取@Response内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(119)

评论列表共有 0 条评论

立即
投稿
返回
顶部