「/api」のマッピングを持つ親 Controller クラスを定義し、そのコントローラーをさまざまな実装で拡張できるようにしたいと考えています。したがって、ApiController は次のようになります。
@Controller
@RequestMapping("/api")
たとえば、ユーザー コントローラーはベース API コントローラーを拡張し、「/users」をパスに追加する必要があるため、「/api/users」リクエストに応答します。したがって、 UserController は次のようになります。
@Controller
@RequestMapping("/users")
しかし、これは ApiController を拡張するため、効率的に /api/users に応答します。
当然のことながら、すべてのコントローラーの前に「/api」を追加して、親クラスなしでこれを実現できますが、可能であれば「正しい方法」で行うことを好みます。これにより、API 実装をよりクリーンで見やすく定義できます。道。
ApiController 基本クラスを拡張しようとしましたが、これは機能しません。UserController は引き続き "/users" に応答し、基本クラス "/api" を無視します。