我在项目中使用了一堆微服务。这些微服务都共享一个公共端点,返回一个已通过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实现这一点。
答案 0 :(得分:1)
可能您可以尝试添加注释处理器类,您可以在其中编写帖子中的代码并实现您的目标。