跳到主要内容
版本:5.0.1

ModifyRequestBody GatewayFilter 工厂

DeepSeek V3 中英对照 ModifyRequestBody GatewayFilter Factory ModifyRequestBody GatewayFilter Factory

你可以使用 ModifyRequestBody 过滤器在网关将请求体发送到下游之前对其进行修改。

备注

此过滤器只能通过 Java DSL 进行配置。

下面的代码展示了如何修改请求体的 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() 来为请求分配一个缺失的正文。