shenyu-plugin-modify-response
org.apache.shenyu.plugin.modify.response.ModifyResponsePlugin
pom.xml
文件中添加插件 maven 配置。<dependency> <groupId>org.apache.shenyu</groupId> <artifactId>shenyu-spring-boot-starter-gateway</artifactId> <version>${project.version}</version> </dependency>
shenyu-admin
--> 基础配置 --> 插件管理 --> modifyResponse
设置为开启。shenyu-admin
插件列表 --> HttpProcess
--> modifyResponse
,先添加选择器,然后添加规则:客户端项目可以直接使用 shenyu-examples-http,注意该示例项目的contextPath
为/http
,需要在shenyu-admin
和shenyu-gateway
启动完成后启动。
配置插件规则:
配置插件规则:
shenyu-admin
--> 基础配置 --> 插件管理 --> modifyResponse
设置为禁用。对于HTTP响应状态码:
statusCode
: 修改响应状态码对于HTTP响应头部参数:
addHeaders
: 添加响应头部参数,键值对形式setHeaders
: 设置响应头部参数,键值对形式replaceHeaderKeys
: 替换响应头部参数,其中key
参数为需要被替换的key
,value
参数为替换后的值removeHeaderKeys
: 移除响应头部参数,其中key
参数为需要被移除的key
对于HTTP响应体:
addBodyKeys
: 添加响应内容replaceBodyKeys
: 替换响应内容,其中key
参数为需要被替换的key
,value
参数为替换后的值removeBodyKeys
: 移除响应内容,其中key
参数为需要被移除的key
修改响应体是基于JSONPath
实现的,$.
代表根目录。对于下面的配置:
插件开启前,响应内容为:
{ "id": 3, "name": "hello world findById" }
插件开启后,响应内容为:
{ "id2": 3, "add": "4" }