Jersey WADL 生成器支持自定义注释

Jersey WADL generator support custom annotations

我正在尝试实现自定义 WadlGenerator,并且我想将自定义注释添加到资源的方法中。示例:

@GET
@Produces({"application/json"})
@Path("myPath")
@customAnnotation(attribute="value")
public synchronized

我的问题是我不知道如何在生成 WADL 时访问此自定义注释。我试图覆盖像 "WadlGeneratorJAXBGrammarGenerator" 这样的 WadlGenerator 实现。我已经在此处 post 找到有关如何为属性创建自定义注释的信息:custom parameter annotation。 有谁知道如何从方法中获取注释?或者是否有更简单的方法来添加自定义注释?

我找到了解决办法。我不得不覆盖我正在使用的 WADL 生成器的 createMethod:

public class MyWADLGEnerator extends WadlGeneratorApplicationDoc {
@Override
public Method createMethod(org.glassfish.jersey.server.model.Resource ar, ResourceMethod arm) {
    Method method = super.createMethod(ar, arm);

    Annotation[] annotations = arm.getInvocable().getDefinitionMethod().getAnnotations();

通过这样做,我可以获得声明给方法的所有注释。