ゲートウェイハンドラーのフィルター関数

フィルター関数の前

WebMvc.fn API には、「前」フィルター関数、つまりリクエストにのみ作用する java.util.Function<ServerRequest, ServerRequest> という概念があります。org.springframework.cloud.gateway.server.mvc.filter.BeforeFilterFunctions では、多くのフィルター前関数が静的ファクトリメソッドとして参照されます。これらは、org.springframework.cloud.gateway.server.mvc.filter.FilterFunctions の汎用 org.springframework.web.servlet.function.HandlerFilterFunction<ServerResponse, ServerResponse> に適合します。どちらを使用しても構いませんが、可能であれば、より明示的であるため、より具体的な BeforeFilterFunctions が推奨されます。

フィルター関数の後

WebMvc.fn API には、レスポンスを変更できる java.util.BiFunction<ServerRequest, ServerResponse, ServerResponse> である「後」フィルター関数の概念があります。多くのフィルター後関数は、org.springframework.cloud.gateway.server.mvc.filter.AfterFilterFunctions で静的ファクトリメソッドとして参照されます。これらは、org.springframework.cloud.gateway.server.mvc.filter.FilterFunctions の汎用 org.springframework.web.servlet.function.HandlerFilterFunction<ServerResponse, ServerResponse> に適合します。どちらを使用しても構いませんが、可能であれば、より明示的であるため、より具体的な AfterFilterFunctions が推奨されます。

高度なフィルター機能

一部のフィルターは、単純な前フィルターまたは後フィルターとして分類できません。これらのフィルターは、プロキシリクエストが行われる前と後の両方で機能します。これらの一部には BodyFilterFunctionsBucket4jFilterFunctions, `CircuitBreakerFilterFunctionsLoadBalancerFilterFunctionsRetryFilterFunctionsTokenRelayFilterFunctions にあるフィルターが含まれており、すべて org.springframework.cloud.gateway.server.mvc.filter パッケージにあります。