审核微服务

时间:2016-07-20 23:52:50

标签: java web-services microservices

我有微服务列表我从同一个控制器调用多个服务。 我想跟踪服务之前和之后对象状态的变化。

设计应该如何或有任何标准来审核微服务?

谢谢Vijay

1 个答案:

答案 0 :(得分:0)

您必须在应用程序级别执行此操作。您可以使用Java的AOP框架(例如Spring AOP或/和AspectJ)拦截微服务端点或常规方法中的数据。 @Around注释允许您拦截传入的数据(方法参数/参数)和传出的数据(返回值/响应)。

@Aspect
public class AuditAspect {

   @Around("execution(* com.foobar.controllers.*.*(..))") 
   public void doAudit(ProceedingJoinPoint joinPoint) throws Throwable {

    System.out.println(joinPoint.getSignature().getName()); //get method name
    System.out.println(Arrays.toString(joinPoint.getArgs())); //get the arguments/params

    joinPoint.proceed(); //continue 

    System.out.println("intercept response ");

   }

}