跳到主要内容

ModifyResponseBody 过滤器

DeepSeek V3 中英对照 ModifyResponseBody Filter ModifyResponseBody Filter

你可以使用 ModifyResponseBody 过滤器在响应体发送回客户端之前对其进行修改。

备注

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

以下列表展示了如何修改响应体过滤器:

@Bean
public RouterFunction<ServerResponse> gatewayRouterFunctionsModifyResponseBodySimple() {
return route("modify_response_body")
.GET("/anything/modifyresponsebody", http())
.before(new HttpbinUriResolver())
.after(modifyResponseBody(String.class, String.class, null,
(request, response, s) -> s.replace("fooval", "FOOVAL")))
.build();
}
java
import static org.springframework.cloud.gateway.server.mvc.filter.AfterFilterFunctions.modifyResponseBody;
import static org.springframework.cloud.gateway.server.mvc.handler.GatewayRouterFunctions.route;
import static org.springframework.cloud.gateway.server.mvc.handler.HandlerFunctions.http;
import static org.springframework.cloud.gateway.server.mvc.predicate.GatewayRequestPredicates.host;
import org.springframework.http.MediaType;

@Configuration
class RouteConfiguration {

@Bean
public RouterFunction<ServerResponse> gatewayRouterFunctionsAddReqHeader() {
return route("rewrite_request_obj")
.route(host("*.rewriterequestobj.org"), http("https://example.org"))
.before(modifyResponseBody(String.class, String.class, MediaType.APPLICATION_JSON_VALUE, (request, response, s) -> s.toUpperCase()))
.build();
}

}
java