REST サービスに Spring MVC コントローラーを使用しています。DispatcherServlet の GET および POST 動作をオーバーライドしたいと考えています。GET および POST リクエスト中に何らかの条件が満たされたときにカスタム ロジックを実行したい、それ以外の場合は DispatcherServlet 実装にフォールバックします。
Spring の DispatcherServlet から派生したカスタム サーベットを実装しました。HttpServlet インターフェースにはメソッド doGet() および doPost() がありますが、これらのメソッドは DispatcherServlet またはその基本クラスのいずれかで final として宣言されているようです。したがって、doGet() と doPost() をオーバーライドできませんでした。
ドキュメントから、オーバーライド可能な doService() と doDispatch() の 2 つのメソッドを見つけました。これら2つの方法の違いについて混乱しています。
- doService() または doDispatch() のどちらのメソッドをオーバーライドする必要がありますか?
- doService() と doDispatch() の違いは何ですか?
- GET または POST である http リクエストを特定する方法は?
ありがとう。