1、controller中添加注释
``
@PostMapping(value = “/getXXX/XXX”)
@ApiOperation(httpMethod = “POST”)
@LogAnnotation(logType=“XXX”,isSaveRequestData=false,isSaveResponseData=false)
//添加注释,以及将参数填写其中
public List getXXX(@PathVariable String XXX){
try {
List XXX= XXXService.getXXX(XXX);
return XXX;
}catch(Exception e) {
e.printStackTrace();
return null;
}
}
2、自己编写注释类
/**
-
操作日志.
-
@author QXQL
/
@Target({ElementType.PARAMETER, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface LogAnnotation {
/*- 日志类型
*/
String logType;
/**
- 是否保存请求的参数
*/
boolean isSaveRequestData() default false;
/**
- 是否保存响应的结果
*/
boolean isSaveResponseData() default false;
}
- 日志类型
3、保存方法
/**
* Log annotation.
*/
@Pointcut("@annotation(包地址)")
public void logAnnotation() {
}
//
@Before("logAnnotation()")
public void doBefore() {
}
/**
* Do after.
*
* @param joinPoint the join point
* @param returnValue the return value
*/
@AfterReturning(pointcut = "logAnnotation()", returning = "returnValue")
public void doAfter(final JoinPoint joinPoint, final Object returnValue) {
//进行参数获取,保存等相关操作
}
}