我想创建一个Java批注@Ping
,该批注将POST
请求发送到我部署在Docker容器中的REST API。
到目前为止,我创建了此注释:
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Ping {
String endpoint();
}
如您所见,我希望此注释基于方法。此方法将使我可以为其他服务赋予状态(可用或不可用)。
我也想将此代码作为Maven工件存储在我自己的仓库中,我将在其中添加更多注释,以便可以在其他服务上使用它。
我看过一些教程,但无法弄清楚如何将这种行为外部化,无论如何我都无法一开始就使用它。
[据我了解,现在我需要一个包含逻辑的处理程序(即,向我的API发送POST
请求),但是我不确定该怎么做。您有什么机会可以帮助我开始吗?做这样的注解是一个好主意吗?
谢谢!
创建方法级别注释并使用AOP编写将调用您的rest api的逻辑
@Around("execution(@Ping * *(..))")
public void entr(ProceedingJoinPoint joinPoint) throws Throwable {
System.out.println("before method");
joinPoint.proceed();
System.out.println("after method");
}