public static interface RouterFunctions.BuilderRouterFunctions.route() 経由で取得します。| 修飾子と型 | メソッドと説明 |
|---|---|
RouterFunctions.Builder | add(RouterFunction<ServerResponse> routerFunction) 指定されたルートをこのビルダーに追加します。 |
RouterFunctions.Builder | after(BiFunctionSE<ServerRequest, ServerResponse, ServerResponse> responseProcessor) 指定されたレスポンス処理関数を使用して、このビルダーによって作成されたすべてのルートのレスポンスオブジェクトをフィルターに掛けます。 |
RouterFunctions.Builder | before(FunctionSE<ServerRequest, ServerRequest> requestProcessor) 指定されたリクエスト処理関数を使用して、このビルダーによって作成されたすべてのルートのリクエストオブジェクトをフィルタリングします。 |
RouterFunction<ServerResponse> | build()RouterFunction をビルドします。 |
RouterFunctions.Builder | DELETE(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンに一致するすべての HTTP DELETE リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | DELETE(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンと述語に一致するすべての HTTP DELETE リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | filter(HandlerFilterFunction<ServerResponse, ServerResponse> filterFunction) このビルダーによって作成されたすべてのルートを、指定されたフィルター関数でフィルターします。 |
RouterFunctions.Builder | GET(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンに一致するすべての HTTP GET リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | GET(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンと述語に一致するすべての HTTP GET リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | HEAD(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンに一致するすべての HTTP HEAD リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | HEAD(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンと述語に一致するすべての HTTP HEAD リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | nest(RequestPredicate predicate, ConsumerSE<RouterFunctions.Builder> builderConsumer) 指定されたリクエスト述語が適用される場合、構築されたルーター関数にルーティングします。 |
RouterFunctions.Builder | nest(RequestPredicate predicate, SupplierSE<RouterFunction<ServerResponse>> routerFunctionSupplier) 指定されたリクエスト述語が適用される場合、提供されたルーター関数にルーティングします。 |
<T extends ThrowableSE> | onError(ClassSE<T> exceptionType, BiFunctionSE<? super T,ServerRequest,reactor.core.publisher.Mono<ServerResponse>> responseProvider) 指定されたレスポンスプロバイダー関数を適用することにより、指定された型のすべての例外をフィルターに掛けます。 |
RouterFunctions.Builder | onError(PredicateSE<? super ThrowableSE> predicate, BiFunctionSE<? super ThrowableSE, ServerRequest,reactor.core.publisher.Mono<ServerResponse>> responseProvider) 指定されたレスポンスプロバイダー関数を適用することにより、述語に一致するすべての例外をフィルターに掛けます。 |
RouterFunctions.Builder | OPTIONS(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンに一致するすべての HTTP OPTIONS リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | OPTIONS(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンと述語に一致するすべての HTTP OPTIONS リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | PATCH(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンに一致するすべての HTTP PATCH リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | PATCH(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンと述語に一致するすべての HTTP PATCH リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | path(StringSE pattern, ConsumerSE<RouterFunctions.Builder> builderConsumer) 指定されたパスプレフィックスパターンが適用される場合、構築されたルーター関数にルーティングします。 |
RouterFunctions.Builder | path(StringSE pattern, SupplierSE<RouterFunction<ServerResponse>> routerFunctionSupplier) 指定されたパスプレフィックスパターンが適用される場合は、提供されたルーター関数にルーティングします。 |
RouterFunctions.Builder | POST(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンに一致するすべての HTTP POST リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | POST(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンと述語に一致するすべての HTTP POST リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | PUT(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンに一致するすべての HTTP PUT リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | PUT(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction) 指定されたパターンと述語に一致するすべての HTTP PUT リクエストを処理する指定されたハンドラー関数にルートを追加します。 |
RouterFunctions.Builder | resources(FunctionSE<ServerRequest,reactor.core.publisher.Mono<Resource>> lookupFunction) 提供された検索機能を使用してリソースにルーティングします。 |
RouterFunctions.Builder | resources(StringSE pattern, Resource location) 指定されたパターンに一致するリクエストを、指定されたルートの場所を基準としたリソースにルーティングします。 |
RouterFunctions.Builder GET(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction)
GET リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン handlerFunction - pattern に一致するすべての GET リクエストを処理するハンドラー関数 RouterFunctions.Builder GET(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction)
GET リクエストを処理する指定されたハンドラー関数にルートを追加します。 たとえば、次の例では、JSON を受け入れる "/user" の GET リクエストを userController の listUsers メソッドにルーティングします。
RouterFunction<ServerResponse> route =
RouterFunctions.route()
.GET("/user", RequestPredicates.accept(MediaType.APPLICATION_JSON), userController::listUsers)
.build();
pattern - 照合するパターン predicate - 一致する追加の述語 handlerFunction - pattern に一致するすべての GET リクエストを処理するハンドラー関数 RequestPredicatesRouterFunctions.Builder HEAD(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction)
HEAD リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン handlerFunction - pattern に一致するすべての HEAD リクエストを処理するハンドラー関数 RouterFunctions.Builder HEAD(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction)
HEAD リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン predicate - 一致する追加の述語 handlerFunction - pattern に一致するすべての HEAD リクエストを処理するハンドラー関数 RouterFunctions.Builder POST(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction)
POST リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン handlerFunction - pattern に一致するすべての POST リクエストを処理するハンドラー関数 RouterFunctions.Builder POST(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction)
POST リクエストを処理する指定されたハンドラー関数にルートを追加します。 たとえば、次の例では、JSON を含む "/user" の POST リクエストを userController の addUser メソッドにルーティングします。
RouterFunction<ServerResponse> route =
RouterFunctions.route()
.POST("/user", RequestPredicates.contentType(MediaType.APPLICATION_JSON), userController::addUser)
.build();
pattern - 照合するパターン predicate - 一致する追加の述語 handlerFunction - pattern に一致するすべての POST リクエストを処理するハンドラー関数 RouterFunctions.Builder PUT(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction)
PUT リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン handlerFunction - pattern に一致するすべての PUT リクエストを処理するハンドラー関数 RouterFunctions.Builder PUT(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction)
PUT リクエストを処理する指定されたハンドラー関数にルートを追加します。 たとえば、次の例では、JSON を含む "/user" の PUT リクエストを userController の editUser メソッドにルーティングします。
RouterFunction<ServerResponse> route =
RouterFunctions.route()
.PUT("/user", RequestPredicates.contentType(MediaType.APPLICATION_JSON), userController::editUser)
.build();
pattern - 照合するパターン predicate - 一致する追加の述語 handlerFunction - pattern に一致するすべての PUT リクエストを処理するハンドラー関数 RouterFunctions.Builder PATCH(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction)
PATCH リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン handlerFunction - pattern に一致するすべての PATCH リクエストを処理するハンドラー関数 RouterFunctions.Builder PATCH(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction)
PATCH リクエストを処理する指定されたハンドラー関数にルートを追加します。 たとえば、次の例では、JSON を含む "/user" の PATCH リクエストを userController の editUser メソッドにルーティングします。
RouterFunction<ServerResponse> route =
RouterFunctions.route()
.PATCH("/user", RequestPredicates.contentType(MediaType.APPLICATION_JSON), userController::editUser)
.build();
pattern - 照合するパターン predicate - 一致する追加の述語 handlerFunction - pattern に一致するすべての PATCH リクエストを処理するハンドラー関数 RouterFunctions.Builder DELETE(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction)
DELETE リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン handlerFunction - pattern に一致するすべての DELETE リクエストを処理するハンドラー関数 RouterFunctions.Builder DELETE(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction)
DELETE リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン predicate - 一致する追加の述語 handlerFunction - pattern に一致するすべての DELETE リクエストを処理するハンドラー関数 RouterFunctions.Builder OPTIONS(StringSE pattern, HandlerFunction<ServerResponse> handlerFunction)
OPTIONS リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン handlerFunction - pattern に一致するすべての OPTIONS リクエストを処理するハンドラー関数 RouterFunctions.Builder OPTIONS(StringSE pattern, RequestPredicate predicate, HandlerFunction<ServerResponse> handlerFunction)
OPTIONS リクエストを処理する指定されたハンドラー関数にルートを追加します。pattern - 照合するパターン predicate - 一致する追加の述語 handlerFunction - pattern に一致するすべての OPTIONS リクエストを処理するハンドラー関数 RouterFunctions.Builder add(RouterFunction<ServerResponse> routerFunction)
RouterFunctions.route(RequestPredicate, HandlerFunction) と組み合わせて、より柔軟な述語マッチングを可能にすることができます。 たとえば、次の例では、OrderController.routerFunction() から返されたルーター関数を追加しています。userController の changeUser メソッドに:
RouterFunction<ServerResponse> route =
RouterFunctions.route()
.GET("/users", userController::listUsers)
.add(orderController.routerFunction());
.build();
routerFunction - 追加するルーター関数 RequestPredicatesRouterFunctions.Builder resources(StringSE pattern, Resource location)
Resource location = new FileSystemResource("public-resources/");
RouterFunction<ServerResponse> resources = RouterFunctions.resources("/resources/**", location);
pattern - マッチングするパターン location - リソースを解決する必要のある場所のディレクトリ RouterFunctions.Builder resources(FunctionSE<ServerRequest,reactor.core.publisher.Mono<Resource>> lookupFunction)
Resource を提供する場合、GET、HEAD、OPTIONS リクエストを処理する HandlerFunction を使用して公開されます。lookupFunction - ServerRequest を指定して Resource を提供する関数 RouterFunctions.Builder nest(RequestPredicate predicate, SupplierSE<RouterFunction<ServerResponse>> routerFunctionSupplier)
たとえば、次の例では、"/user" パス述語を使用してネストされたルートを作成します。これにより、"/user" の GET リクエストはユーザーを一覧表示し、"/user" の POST リクエストは新しいユーザーを作成します。
RouterFunction<ServerResponse> nestedRoute =
RouterFunctions.route()
.nest(RequestPredicates.path("/user"), () ->
RouterFunctions.route()
.GET(this::listUsers)
.POST(this::createUser)
.build())
.build();
predicate - テストする述語 routerFunctionSupplier - 述語が適用される場合に委譲するネストされたルーター関数のサプライヤー RequestPredicatesRouterFunctions.Builder nest(RequestPredicate predicate, ConsumerSE<RouterFunctions.Builder> builderConsumer)
たとえば、次の例では、"/user" パス述語を使用してネストされたルートを作成します。これにより、"/user" の GET リクエストはユーザーを一覧表示し、"/user" の POST リクエストは新しいユーザーを作成します。
RouterFunction<ServerResponse> nestedRoute =
RouterFunctions.route()
.nest(RequestPredicates.path("/user"), builder ->
builder.GET(this::listUsers)
.POST(this::createUser))
.build();
predicate - テストする述語 builderConsumer - ネストされたルーター関数を提供する Builder のコンシューマー RequestPredicatesRouterFunctions.Builder path(StringSE pattern, SupplierSE<RouterFunction<ServerResponse>> routerFunctionSupplier)
たとえば、次の例では、userController で定義されたルーター関数に委譲する "/user" パス述語と、orderController に委譲する "/order" パスを使用してネストされたルートを作成します。
RouterFunction<ServerResponse> nestedRoute =
RouterFunctions.route()
.path("/user", userController::routerFunction)
.path("/order", orderController::routerFunction)
.build();
pattern - 照合するパターン routerFunctionSupplier - パターンが一致する場合に委譲するネストされたルーター関数のサプライヤー RouterFunctions.Builder path(StringSE pattern, ConsumerSE<RouterFunctions.Builder> builderConsumer)
たとえば、次の例では、"/user" パス述語を使用してネストされたルートを作成します。これにより、"/user" の GET リクエストはユーザーを一覧表示し、"/user" の POST リクエストは新しいユーザーを作成します。
RouterFunction<ServerResponse> nestedRoute =
RouterFunctions.route()
.path("/user", builder ->
builder.GET(this::listUsers)
.POST(this::createUser))
.build();
pattern - 照合するパターン builderConsumer - ネストされたルーター関数を提供する Builder のコンシューマー RouterFunctions.Builder filter(HandlerFilterFunction<ServerResponse,ServerResponse> filterFunction)
たとえば、次の例では、リクエストに必要な認証ヘッダーが含まれていない場合に 401 Unauthorized レスポンスを返すフィルターを作成します。
RouterFunction<ServerResponse> filteredRoute =
RouterFunctions.route()
.GET("/user", this::listUsers)
.filter((request, next) -> {
// check for authentication headers
if (isAuthenticated(request)) {
return next.handle(request);
}
else {
return ServerResponse.status(HttpStatus.UNAUTHORIZED).build();
}
})
.build();
filterFunction - このビルダーによって作成されたすべてのルートをフィルタリングする関数 RouterFunctions.Builder before(FunctionSE<ServerRequest,ServerRequest> requestProcessor)
たとえば、次の例では、ハンドラー関数が実行される前にリクエストをログに記録するフィルターを作成します。
RouterFunction<ServerResponse> filteredRoute =
RouterFunctions.route()
.GET("/user", this::listUsers)
.before(request -> {
log(request);
return request;
})
.build();
requestProcessor - リクエストを変換する関数 RouterFunctions.Builder after(BiFunctionSE<ServerRequest,ServerResponse,ServerResponse> responseProcessor)
たとえば、次の例では、ハンドラー関数の実行後にレスポンスを記録するフィルターを作成します。
RouterFunction<ServerResponse> filteredRoute =
RouterFunctions.route()
.GET("/user", this::listUsers)
.after((request, response) -> {
log(response);
return response;
})
.build();
responseProcessor - レスポンスを変換する関数 RouterFunctions.Builder onError(PredicateSE<? super ThrowableSE> predicate, BiFunctionSE<? super ThrowableSE,ServerRequest,reactor.core.publisher.Mono<ServerResponse>> responseProvider)
たとえば、次の例では、IllegalStateException が発生したときに 500 レスポンスステータスを返すフィルターを作成します。
RouterFunction<ServerResponse> filteredRoute =
RouterFunctions.route()
.GET("/user", this::listUsers)
.onError(e -> e instanceof IllegalStateException,
(e, request) -> ServerResponse.status(HttpStatus.INTERNAL_SERVER_ERROR).build())
.build();
predicate - フィルタリングする例外の型 responseProvider - レスポンスを作成する関数 <T extends ThrowableSE> RouterFunctions.Builder onError(ClassSE<T> exceptionType, BiFunctionSE<? super T,ServerRequest,reactor.core.publisher.Mono<ServerResponse>> responseProvider)
たとえば、次の例では、IllegalStateException が発生したときに 500 レスポンスステータスを返すフィルターを作成します。
RouterFunction<ServerResponse> filteredRoute =
RouterFunctions.route()
.GET("/user", this::listUsers)
.onError(IllegalStateException.class,
(e, request) -> ServerResponse.status(HttpStatus.INTERNAL_SERVER_ERROR).build())
.build();
exceptionType - フィルタリングする例外の型 responseProvider - レスポンスを作成する関数 RouterFunction<ServerResponse> build()
RouterFunction をビルドします。作成されたすべてのルートは互いに構成され、フィルター(存在する場合)が結果に適用されます。