2017-10-10 12 views
0

私は自分のプロジェクトで一連のマイクロサービスを使用しています。これらのマイクロサービスはすべて、XMLで解析されたオブジェクトを返す共通のエンドポイントを共有します。注釈で定義されたレストエンドポイント

@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

あなたの投稿にあるコードを書いて目標を達成できる注釈プロセッサークラスを追加することができます。

関連する問題