クラス RouterFunctions
java.lang.ObjectSE
org.springframework.web.reactive.function.server.RouterFunctions
Spring の関数 Web フレームワークへの主要エントリポイント。発見可能なビルダースタイルの API を使用して 
RouterFunction を作成したり、RequestPredicate および HandlerFunction を指定して RouterFunction を作成したり、既存のルーティング関数でさらにサブルーチン化したりするなど、ルーティング機能を公開します。 さらに、このクラスは RouterFunction を HttpHandler に変換でき、サーブレット環境、Reactor、Undertow で実行できます。
- 導入:
- 5.0
- 作成者:
- Arjen Poutsma, Sebastien Deleuze
- ネストされたクラスの要約ネストされたクラス修飾子と型クラス説明- static interfaceルーター関数の検出可能なビルダーを表します。- static interfaceルーター関数の論理構造から通知を受け取ります。
- フィールドのサマリーフィールド修飾子と型フィールド説明- static final StringSE一致するパターンを含む- attributeの名前(- PathPattern)。- static final StringSE- ServerRequestを含む- ServerWebExchange属性の名前。- static final StringSEURI テンプレートマップを含む- ServerWebExchange属性の名前。変数名を値にマッピングします。
- コンストラクターの概要コンストラクター
- メソッドのサマリー修飾子と型メソッド説明- static <T extends ServerResponse>
 RouterFunction<T>- changeParser- (RouterFunction<T> routerFunction, PathPatternParser parser) 指定されたルーター関数の- PathPatternParserを変更します。- static <T extends ServerResponse>
 RouterFunction<T>- nest- (RequestPredicate predicate, RouterFunction<T> routerFunction) 指定されたリクエスト述語が適用される場合、指定されたルーター関数にルーティングします。- static RouterFunction<ServerResponse>- resource- (RequestPredicate predicate, Resource resource) 指定された述語に一致するリクエストを指定されたリソースにルーティングします。- static RouterFunction<ServerResponse>- resource- (RequestPredicate predicate, Resource resource, BiConsumerSE<Resource, - HttpHeaders> headersConsumer) 指定された述語に一致するリクエストを指定されたリソースにルーティングします。- static FunctionSE<ServerRequest,- reactor.core.publisher.Mono<Resource>> - resourceLookupFunction- (StringSE pattern, Resource location) - resources(String, Resource)で使用されるリソース検索関数を返します。- static RouterFunction<ServerResponse>指定されたパターンに一致するリクエストを、指定されたルートの場所を基準としたリソースにルーティングします。- static RouterFunction<ServerResponse>- resources- (StringSE pattern, Resource location, BiConsumerSE<Resource, - HttpHeaders> headersConsumer) 指定されたパターンに一致するリクエストを、指定されたルートの場所を基準としたリソースにルーティングします。- static RouterFunction<ServerResponse>- resources- (FunctionSE<ServerRequest, - reactor.core.publisher.Mono<Resource>> lookupFunction) 提供された検索機能を使用してリソースにルーティングします。- static RouterFunction<ServerResponse>- resources- (FunctionSE<ServerRequest, - reactor.core.publisher.Mono<Resource>> lookupFunction, BiConsumerSE<Resource, - HttpHeaders> headersConsumer) 提供された検索機能を使用してリソースにルーティングします。- static RouterFunctions.Builder- route()ビルダースタイルのインターフェースを介してルーター関数を作成する発見可能な方法を提供します。- static <T extends ServerResponse>
 RouterFunction<T>- route- (RequestPredicate predicate, HandlerFunction<T> handlerFunction) 指定されたリクエスト述語が適用される場合、指定されたハンドラー関数にルーティングします。- static HttpHandler- toHttpHandler- (RouterFunction<?> routerFunction) 指定されたルーター関数を- HttpHandlerに変換します。- static HttpHandler- toHttpHandler- (RouterFunction<?> routerFunction, HandlerStrategies strategies) 指定された戦略を使用して、指定されたルーター関数を- HttpHandlerに変換します。- static WebHandler- toWebHandler- (RouterFunction<?> routerFunction) 指定されたルーター関数を- WebHandlerに変換します。- static WebHandler- toWebHandler- (RouterFunction<?> routerFunction, HandlerStrategies strategies) 指定された戦略を使用して、指定されたルーター関数を- WebHandlerに変換します。
- フィールドの詳細- REQUEST_ATTRIBUTE- ServerRequestを含む- ServerWebExchange属性の名前。
- URI_TEMPLATE_VARIABLES_ATTRIBUTEURI テンプレートマップを含む- ServerWebExchange属性の名前。変数名を値にマッピングします。
- MATCHING_PATTERN_ATTRIBUTE一致するパターンを含む- attributeの名前(- PathPattern)。
 
- コンストラクターの詳細- RouterFunctionspublic RouterFunctions()
 
- メソッドの詳細- routeビルダースタイルのインターフェースを介してルーター関数を作成する発見可能な方法を提供します。- 戻り値:
- ルーター関数ビルダー
- 導入:
- 5.1
 
- routepublic static <T extends ServerResponse> RouterFunction<T> route- (RequestPredicate predicate, HandlerFunction<T> handlerFunction) 指定されたリクエスト述語が適用される場合、指定されたハンドラー関数にルーティングします。- たとえば、次の例では、"/user" の GET リクエストを - userControllerの- listUsersメソッドにルーティングします。- RouterFunction<ServerResponse> route = RouterFunctions.route(RequestPredicates.GET("/user"), userController::listUsers);- 型パラメーター:
- T- ハンドラー関数によって返されるレスポンスの型
- パラメーター:
- predicate- テストする述語
- handlerFunction- 述語が適用される場合にルーティングするハンドラー関数
- 戻り値:
- predicateが- trueと評価された場合に- handlerFunctionにルーティングするルーター関数
- 関連事項:
 
- nestpublic static <T extends ServerResponse> RouterFunction<T> nest- (RequestPredicate predicate, RouterFunction<T> routerFunction) 指定されたリクエスト述語が適用される場合、指定されたルーター関数にルーティングします。このメソッドを使用して、ネストされたルートを作成できます。ルートのグループは、共通のパス(プレフィックス)、ヘッダー、その他のリクエスト述語を共有します。- たとえば、次の例では、最初に、GET の場合は - listUsersに、POST の場合は- createUserに解決される合成ルートを作成します。次に、この構成されたルートは "/user" パス述語でネストされるため、"/user" の GET リクエストはユーザーをリストし、"/user" の POST リクエストは新しいユーザーを作成します。- RouterFunction<ServerResponse> userRoutes = RouterFunctions.route(RequestPredicates.method(HttpMethod.GET), this::listUsers) .andRoute(RequestPredicates.method(HttpMethod.POST), this::createUser); RouterFunction<ServerResponse> nestedRoute = RouterFunctions.nest(RequestPredicates.path("/user"), userRoutes);- 型パラメーター:
- T- ハンドラー関数によって返されるレスポンスの型
- パラメーター:
- predicate- テストする述語
- routerFunction- 述語が適用される場合に委譲するネストされたルーター関数
- 戻り値:
- predicateが- trueと評価された場合に- routerFunctionにルーティングするルーター関数
- 関連事項:
 
- resourcepublic static RouterFunction<ServerResponse> resource- (RequestPredicate predicate, Resource resource) 指定された述語に一致するリクエストを指定されたリソースにルーティングします。たとえば- Resource resource = new ClassPathResource("static/index.html") RouterFunction<ServerResponse> resources = RouterFunctions.resource(path("/api/**").negate(), resource);- パラメーター:
- predicate- 一致する述語
- resource- 提供するリソース
- 戻り値:
- リソースにルーティングするルーター関数
- 導入:
- 6.1.4
 
- resourcepublic static RouterFunction<ServerResponse> resource- (RequestPredicate predicate, Resource resource, BiConsumerSE<Resource, - HttpHeaders> headersConsumer) 指定された述語に一致するリクエストを指定されたリソースにルーティングします。たとえば- Resource resource = new ClassPathResource("static/index.html") RouterFunction<ServerResponse> resources = RouterFunctions.resource(path("/api/**").negate(), resource);- パラメーター:
- predicate- 一致する述語
- resource- 提供するリソース
- headersConsumer- 提供されるリソースの HTTP ヘッダーへのアクセスを提供します
- 戻り値:
- リソースにルーティングするルーター関数
- 導入:
- 6.1.4
 
- resources指定されたパターンに一致するリクエストを、指定されたルートの場所を基準にしたリソースにルーティングします。たとえば- Resource location = new FileSystemResource("public-resources/"); RouterFunction<ServerResponse> resources = RouterFunctions.resources("/resources/**", location);- パラメーター:
- pattern- マッチングするパターン
- location- リソースを解決する必要のある場所のディレクトリ
- 戻り値:
- リソースにルーティングするルーター関数
- 関連事項:
 
- resourcespublic static RouterFunction<ServerResponse> resources- (StringSE pattern, Resource location, BiConsumerSE<Resource, - HttpHeaders> headersConsumer) 指定されたパターンに一致するリクエストを、指定されたルートの場所を基準にしたリソースにルーティングします。たとえば- Resource location = new FileSystemResource("public-resources/"); RouterFunction<ServerResponse> resources = RouterFunctions.resources("/resources/**", location);- パラメーター:
- pattern- マッチングするパターン
- location- リソースを解決する必要のある場所のディレクトリ
- headersConsumer- 提供されるリソースの HTTP ヘッダーへのアクセスを提供します
- 戻り値:
- リソースにルーティングするルーター関数
- 導入:
- 6.1
- 関連事項:
 
- resourceLookupFunctionpublic static FunctionSE<ServerRequest,- reactor.core.publisher.Mono<Resource>> resourceLookupFunction- (StringSE pattern, Resource location) - resources(String, Resource)で使用されるリソースルックアップ関数を返します。返される関数は、たとえば、ルックアップ関数が一致しない場合にデフォルトのリソースを返すように構成SEできます。- Mono<Resource> defaultResource = Mono.just(new ClassPathResource("index.html")); Function<ServerRequest, Mono<Resource>> lookupFunction = RouterFunctions.resourceLookupFunction("/resources/**", new FileSystemResource("public-resources/")) .andThen(resourceMono -> resourceMono.switchIfEmpty(defaultResource)); RouterFunction<ServerResponse> resources = RouterFunctions.resources(lookupFunction);- パラメーター:
- pattern- マッチングするパターン
- location- リソースを解決する必要のある場所のディレクトリ
- 戻り値:
- 指定されたパラメーターのデフォルトのリソース検索関数。
- 関連事項:
 
- resourcespublic static RouterFunction<ServerResponse> resources- (FunctionSE<ServerRequest, - reactor.core.publisher.Mono<Resource>> lookupFunction) 提供された検索機能を使用してリソースにルーティングします。ルックアップ関数が指定されたリクエストに- Resourceを提供する場合、GET、HEAD、OPTIONS リクエストを処理する- HandlerFunctionを使用して公開されます。- パラメーター:
- lookupFunction-- ServerRequestを指定して- Resourceを提供する関数
- 戻り値:
- リソースにルーティングするルーター関数
 
- resourcespublic static RouterFunction<ServerResponse> resources- (FunctionSE<ServerRequest, - reactor.core.publisher.Mono<Resource>> lookupFunction, BiConsumerSE<Resource, - HttpHeaders> headersConsumer) 提供された検索機能を使用してリソースにルーティングします。ルックアップ関数が指定されたリクエストに- Resourceを提供する場合、GET、HEAD、OPTIONS リクエストを処理する- HandlerFunctionを使用して公開されます。- パラメーター:
- lookupFunction-- ServerRequestを指定して- Resourceを提供する関数
- headersConsumer- 提供されるリソースの HTTP ヘッダーへのアクセスを提供します
- 戻り値:
- リソースにルーティングするルーター関数
- 導入:
- 6.1
 
- toHttpHandler指定されたルーター関数を- HttpHandlerに変換します。この変換ではデフォルトの戦略が使用されます。- 返されたハンドラー - ServletHttpHandlerAdapterを使用するサーブレット環境
- ReactorHttpHandlerAdapterを使用した Reactor
- UndertowHttpHandlerAdapterを使用した Undertow。
 - HttpWebHandlerAdapterは- WebHandlerも実装しているため、- WebHttpHandlerBuilderを介して追加のフィルターと例外ハンドラーを登録できることに注意してください。- パラメーター:
- routerFunction- 変換するルーター関数
- 戻り値:
- 指定されたルーター関数を使用して HTTP リクエストを処理する HTTP ハンドラー
 
- toHttpHandlerpublic static HttpHandler toHttpHandler- (RouterFunction<?> routerFunction, HandlerStrategies strategies) 指定された戦略を使用して、指定されたルーター関数を- HttpHandlerに変換します。- 返された - HttpHandler- ServletHttpHandlerAdapterを使用するサーブレット環境
- ReactorHttpHandlerAdapterを使用した Reactor
- UndertowHttpHandlerAdapterを使用した Undertow。
 - パラメーター:
- routerFunction- 変換するルーター関数
- strategies- 使用する戦略
- 戻り値:
- 指定されたルーター関数を使用して HTTP リクエストを処理する HTTP ハンドラー
 
- toWebHandler- パラメーター:
- routerFunction- 変換するルーター関数
- 戻り値:
- 指定されたルーター関数を使用して Web リクエストを処理する Web ハンドラー
 
- toWebHandlerpublic static WebHandler toWebHandler- (RouterFunction<?> routerFunction, HandlerStrategies strategies) 指定された戦略を使用して、指定されたルーター関数を- WebHandlerに変換します。- パラメーター:
- routerFunction- 変換するルーター関数
- strategies- 使用する戦略
- 戻り値:
- 指定されたルーター関数を使用して Web リクエストを処理する Web ハンドラー
 
- changeParserpublic static <T extends ServerResponse> RouterFunction<T> changeParser- (RouterFunction<T> routerFunction, PathPatternParser parser) 指定されたルーター関数の- PathPatternParserを変更します。このメソッドを使用すると、- PathPatternParserプロパティをデフォルトから変更することができます (たとえば、大文字と小文字の区別を変更するなど)。- 型パラメーター:
- T- ハンドラー関数によって返されるレスポンスの型
- パラメーター:
- routerFunction- パーサーを変更するルーター関数
- parser- 変更するパーサー。
- 戻り値:
- ルーター変更機能