ModifyRequestBody
GatewayFilter
ファクトリ
ゲートウェイによってダウンストリームに送信される前に、ModifyRequestBody
フィルターを使用してリクエスト本文を変更できます。
このフィルターは、JavaDSL を使用してのみ構成できます。 |
次のリストは、リクエスト本文 GatewayFilter
を変更する方法を示しています。
@Bean
public RouteLocator routes(RouteLocatorBuilder builder) {
return builder.routes()
.route("rewrite_request_obj", r -> r.host("*.rewriterequestobj.org")
.filters(f -> f.prefixPath("/httpbin")
.modifyRequestBody(String.class, Hello.class, MediaType.APPLICATION_JSON_VALUE,
(exchange, s) -> Mono.just(new Hello(s.toUpperCase())))).uri(uri))
.build();
}
static class Hello {
String message;
public Hello() { }
public Hello(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
リクエストに本文がない場合、RewriteFilter は null に渡されます。Mono.empty() を返して、リクエストに欠落している本文を割り当てる必要があります。 |