在注释中定义的休息端点

时间:2017-10-10 23:07:08

标签: java annotations spring-restcontroller

我在项目中使用了一堆微服务。这些微服务都共享一个公共端点,返回一个已通过XML解析的对象。

现在我希望在Annotation中定义某种默认方法,如下所示:

@RestController
public @interface ComaModule {
  Class<? extends Object> clazz();

  @RequestMapping("/descriptor")
   default ModuleDescriptor getDescriptor() {
    ModuleXmlUnmarshaller moduleXmlUnmarshaller = new ModuleXmlUnmarshaller(clazz());
    Optional<ModuleDescriptor> moduleDescriptorOptional = moduleXmlUnmarshaller.findModuleDescriptor();
    return moduleDescriptorOptional.orElse(null);
  }
}

这不起作用,因为我无法在我的注释中使用方法定义。所以最难的是我想保留@RequestMapping("/descriptor")

事实上,我想为我使用的每个RestController提供某种方面。我读到了关于Spring和Proxy的AOP,但我想我可以通过Annotations实现这一点。

1 个答案:

答案 0 :(得分:1)

可能您可以尝试添加注释处理器类,您可以在其中编写帖子中的代码并实现您的目标。