我有微服务列表我从同一个控制器调用多个服务。 我想跟踪服务之前和之后对象状态的变化。
设计应该如何或有任何标准来审核微服务?
谢谢Vijay
答案 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 ");
}
}