spring MVC 拦截器怎么获取controller返回值

揍敌客小强 2016-08-19 03:08:05
使用springMVC拦截器需要实现3个方法,分别是preHandle、afterCompletion、postHandle

postHandle是controller返回后调用的,获取controller返回的值,


@RequestMapping(value = "/goSetBank")
public ModelAndView gotoBind() {

ModelAndView mv = new ModelAndView();
mv.addObject("webAddr", webAddr);

return mv;
}
ModelAndView .getModel();可以获取上面这种情况的返回值,但是下面这种要怎么获取?

@ResponseBody
@RequestMapping(value = "/marginStep0")
public Map<String, Object> marginStep0() {
Map<String, Object> resMap = new HashMap<String, Object>();



return resMap;
}

怎么获取resMap
...全文
4218 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Maktub_J 2019-09-04
  • 打赏
  • 举报
回复
https://blog.csdn.net/Maktub_J/article/details/100533859
慕思m 2019-05-22
  • 打赏
  • 举报
回复
@Aspect @Component public class CreditApplyAspect { @Around("execution(* com.wandaph.api.standard.rest.*.creditApply(..))") public Object handleControllerMethod(ProceedingJoinPoint pjp) throws Throwable { StringBuffer key = new StringBuffer(); Integer failTimes = null; Object[] args = pjp.getArgs(); CreditApplyDto dto = null; for (Object arg : args) { if(arg instanceof CreditApplyDto){ dto = (CreditApplyDto)arg; }else if(arg instanceof HttpServletRequest){ HttpServletRequest request = (HttpServletRequest)arg; dto = ResponseUtil.getRequestData(request,CreditApplyDto.class); } .... } Object object = pjp.proceed(); .... return object; } } Controller方法: @RequestMapping(value="/creditApply",method = RequestMethod.POST) public ApiResult creditApply(HttpServletRequest request){ ...... }
pigzpq 2018-06-01
  • 打赏
  • 举报
回复
https://blog.csdn.net/qq_33500630/article/details/79242427 上帖可用,我实现如下: @ControllerAdvice public class ResponseBodyAnalysis implements ResponseBodyAdvice { @Override public Object beforeBodyWrite(Object body, MethodParameter arg1, MediaType arg2, Class arg3, ServerHttpRequest arg4, ServerHttpResponse arg5) { System.out.println(body); return body; } @Override public boolean supports(MethodParameter arg0, Class arg1) { return true; } }
揍敌客小强 2018-01-25
  • 打赏
  • 举报
回复
Map<String, Object> resMap1 = (Map<String, Object>) request.getAttribute("resMap"); 这样就可以获取到了
wj196 2017-01-12
  • 打赏
  • 举报
回复
楼主解决了么?解决方法可以分享下吗?
李德胜1995 2017-01-12
  • 打赏
  • 举报
回复
用AOP使用@AfterReturning可以得到
龙兴江 2017-01-12
  • 打赏
  • 举报
回复
resMap。getName()啊
boybaozi 2017-01-12
  • 打赏
  • 举报
回复
直接弄不了,自己写aop吧

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧