调用REST API的自定义Java注释

问题描述 投票:0回答:1

我想创建一个Java批注@Ping,该批注将POST请求发送到我部署在Docker容器中的REST API。

到目前为止,我创建了此注释:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Ping {
    String endpoint();
}

如您所见,我希望此注释基于方法。此方法将使我可以为其他服务赋予状态(可用或不可用)。

我也想将此代码作为Maven工件存储在我自己的仓库中,我将在其中添加更多注释,以便可以在其他服务上使用它。

我看过一些教程,但无法弄清楚如何将这种行为外部化,无论如何我都无法一开始就使用它。

[据我了解,现在我需要一个包含逻辑的处理程序(即,向我的API发送POST请求),但是我不确定该怎么做。您有什么机会可以帮助我开始吗?做这样的注解是一个好主意吗?

谢谢!

java annotations artifact
1个回答
0
投票

创建方法级别注释并使用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");
}
© www.soinside.com 2019 - 2024. All rights reserved.