在日常生产中,在和前端联合调试的时候,可能会遇到很多情况,在出现问题时候,很不容易找到,那么如果能够检测前后台的交互数据,应该就很容易快速解决问题,哪么可以使用Aop去解析。

  • 首先因为aop包
        <!--aop依赖-->
       <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-aop</artifactId>
           <version>1.3.3.RELEASE</version>
       </dependency>
  • 配置切面类
@Aspect
@Component
public class WebLogAspect {
   private final static Logger log = LoggerFactory.getLogger(WebLogAspect.class);

   /**
    * rest包和子包里面的所有方法
    */
   @Pointcut("execution(public * dragonfly.rest..*.*(..))")
   public void weblog() {
   }

   @Before("weblog()")
   public void doBefore(JoinPoint joinpoint) throws Throwable {
       // 接收到请求,记录请求内容
       ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
       HttpServletRequest request = attributes.getRequest();
       // 记录下请求内容
       log.info("URL : " + request.getRequestURL().toString());
       log.info("请求类型 : " + request.getMethod());
       log.info("请求IP : " + request.getRemoteAddr());
       log.info("方法 : " + joinpoint.getSignature().getDeclaringTypeName() + "." + joinpoint.getSignature().getName());
       log.info("参数列表 : " + Arrays.toString(joinpoint.getArgs()));
   }

   @AfterReturning(returning = "ret", pointcut = "weblog()")
   public void doAfterReturning(Object ret) throws Throwable {
       // 处理完请求,返回内容
       log.info("返回参数 : " + ret);
   }
}
  • 哦了。
2017-01-04 17:20:14.201  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : URL : http://localhost:10086/hi
2017-01-04 17:20:14.202  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 请求方法HTTP_METHOD : GET
2017-01-04 17:20:14.202  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 请求IP : 0:0:0:0:0:0:0:1
2017-01-04 17:20:14.205  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 方法CLASS_METHOD : dragonfly.rest.DragonFlyControl.hi
2017-01-04 17:20:14.206  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 参数列表ARGS : [123]
2017-01-04 17:20:14.219  INFO 42480 --- [io-10086-exec-1] dragonfly.Aop.WebLogAspect               : 响应参数 : helloworld123
---------------getGoodsUrl方法开始执行---------------
URL : http://139.198.2.112:32008/mybosc/getGoodsUrl/v1
请求类型 : POST
请求IP : 27.115.24.210
方法 : dragonfly.rest.DragonFlyController.getGoodsUrl
参数列表 : [110310018000034, 100000394947, 3700, 156, 20170124, 124811, 10201701241307131612, 0, Success]
返回参数 : ModelAndView: reference to view with name 'redirect:http://mybosc.test.otosaas.com/order/coffee/100000394947'; model is null