@Component @Aspect @Slf4j @Order(Integer.MAX_VALUE) public class ResponseFilter { @Autowired RequestLockLogService requestLockLogService; @Around("execution( * cn.tfinfo.microservice.wms.biz.*.controller.*.*(..))") public Object doAroundAdvice(ProceedingJoinPoint proceedingJoinPoint) { System.out.println("@Around环绕通知:" + proceedingJoinPoint.getSignature().toString()); Object obj = null; try { obj = proceedingJoinPoint.proceed(); //可以加参数 String userId= UserInfo.getUserInfoNew().getUserId(); System.out.println(userId); log.info(obj.toString()); } catch (Throwable throwable) { throwable.printStackTrace(); } System.out.println("@Around环绕通知执行结束"); return obj; } @AfterReturning(returning = "ret", pointcut = "execution( * cn.tfinfo.microservice.wms.biz.*.controller.*.*(..))") public void doAfterReturning(Object ret) { log.info("返回值 : " + JSON.toJSONString(ret)); ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); HttpServletRequest request = attributes.getRequest(); String uri=request.getRequestURI(); request.getParameterMap(); request.getParameterNames(); System.out.println(uri); // boolean res=requestLockLogService.logErrorAndMaybeLock(uri); // if(!res) // { // return; // } if(ret instanceof BaseResponse) { if(!((BaseResponse) ret).getMsg().equals("成功")) { ((BaseResponse) ret).setCode(WmsMultiLanguageErrorCodeEnum.REQUEST_CONTROL_LOCK.getCode()); ((BaseResponse) ret).setMsg(WmsMultiLanguageErrorCodeEnum.REQUEST_CONTROL_LOCK.getMsg()); } } }
springboot 切面 修改response返回值
最新推荐文章于 2024-05-02 15:16:24 发布