インターフェース HandlerAdapter
- すべての既知の実装クラス:
AbstractHandlerMethodAdapter, HandlerFunctionAdapter, HttpRequestHandlerAdapter, RequestMappingHandlerAdapter, SimpleControllerHandlerAdapter, SimpleServletHandlerAdapter
public interface HandlerAdapter
MVC フレームワーク SPI。コア MVC ワークフローのパラメーター化を可能にします。
リクエストを処理するために各ハンドラー型に実装する必要があるインターフェース。このインターフェースは、DispatcherServlet を無制限に拡張できるようにするために使用されます。DispatcherServlet は、このインターフェースを介してインストールされているすべてのハンドラーにアクセスします。つまり、DispatcherServlet には、ハンドラー型に固有のコードが含まれていません。
ハンドラーは Object 型にすることができることに注意してください。これは、他のフレームワークのハンドラーをカスタムコーディングなしでこのフレームワークと統合できるようにするとともに、特定の Java インターフェースに従わないアノテーション駆動型ハンドラーオブジェクトを可能にするためです。
このインターフェースは、アプリケーション開発者を対象としたものではありません。独自の Web ワークフローを開発したいハンドラーが利用できます。
メモ: HandlerAdapter の実装者は、Ordered インターフェースを実装して、DispatcherServlet によって適用されるソート順(したがって優先順位)を指定できるようにすることができます。順序付けされていないインスタンスは、最低の優先度として扱われます。
- 作成者:
- Rod Johnson, Juergen Hoeller
- 関連事項:
メソッドのサマリー
メソッドの詳細
supports
ハンドラーインスタンスを指定して、このHandlerAdapterがそれをサポートできるかどうかを返します。通常の HandlerAdapters は、ハンドラー型に基づいて決定を行います。HandlerAdapters は通常、それぞれ 1 つのハンドラー型のみをサポートします。典型的な実装:
return (handler instanceof MyHandler);- パラメーター:
handler- チェックするハンドラーオブジェクト- 戻り値:
- このオブジェクトが特定のハンドラーを使用できるかどうか
handle
@Nullable ModelAndView handle(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, ObjectSE handler) throws ExceptionSE 指定されたハンドラーを使用して、このリクエストを処理します。必要なワークフローは大きく異なる場合があります。- パラメーター:
request- 現在の HTTP リクエストresponse- 現在の HTTP レスポンスhandler- 使用するハンドラー。このオブジェクトは、このインターフェースのsupportsメソッドに事前に渡されている必要があり、このメソッドはtrueを返している必要があります。- 戻り値:
- ビューの名前と必要なモデルデータを含む ModelAndView オブジェクト、またはリクエストが直接処理された場合は
null - 例外:
ExceptionSE- エラーの場合