"/ api"というマッピングを持つ親コントローラクラスを定義し、そのコントローラを別の実装で拡張したいと考えています。 のでApiControllerがあります。たとえばSpringコントローラを実装するときに共通の親パスを共有する
@Controller
@RequestMapping("/api")
を、私のユーザコントローラは、ベースのAPIコントローラを拡張する必要がありますし、また、それは、「/ API /ユーザ」のリクエストにお答えしますので、パスを「/ユーザ」を追加します。だからUserControllerは:
@Controller
@RequestMapping("/users")
を持ちますが、それはApiControllerを拡張しているので、/ api/usersに効果的に答えます。
もちろん、すべてのコントローラに「/ api」を追加して親クラスなしでも実現できますが、可能であれば「正しい方法」にすることをお勧めします。よりきれいで目に見えるパス。
私はApiControllerベースクラスを拡張しようとしましたが、これはうまくいかず、UserControllerはまだ "/ users"に答え、ベースクラス "/ api"を無視します。
こんにちは、申し訳ありませんが、私は何とかあなたの答えを忘れてしまったに違いありません。残念ながら、実装クラスにも独自の「ベース」マッピングを持たせたいので、ExtendedAbstractControllerに@RequestMapping( "/ another")アノテーションを付けて、すべてのメソッドにこのプレフィックスが付くようにしてください。あなたのソリューションでは、RequestMappingアノテーションを持つメソッドだけがアノテーションを拡張します。 – TheZuck
@TheZuckええ、私はあなたが必要なものではないと私が知っていることを知っている。 :[ちょうどあなたを助けようとしていました::)春はあなたが望むように注釈の継承をサポートしていません... Btwあなたは春のJIRAに行き、あなたの提案で同じことに投票したり、新しい問題を作成したりすることができます。 ;) – masted