ModifyResponse插件

说明

  • modifyResponse插件是 Apache ShenYu 网关自带的,用来对响应进行修改的插件。

插件设置

  • shenyu-admin —> 基础配置 —> 插件管理 —> modifyResponse 设置为开启。

插件使用

  • 在网关的 pom.xml 文件中添加 modifyResponse 的支持。
  1. <!-- apache shenyu modify response plugin start-->
  2. <dependency>
  3. <groupId>org.apache.shenyu</groupId>
  4. <artifactId>shenyu-spring-boot-starter-plugin-modify-response</artifactId>
  5. <version>${project.version}</version>
  6. </dependency>
  7. <!-- apache shenyu modify response plugin end-->

修改响应插件使用指南

  • 1.配置选择器
  • 2.配置规则
  • 3.修改响应状态码 ModifyResponse插件 - 图1
  • 4.修改响应请求头 ModifyResponse插件 - 图2
  • 5.修改响应内容 ModifyResponse插件 - 图3
  • 参数详情:
    • addHeaders: 添加请求头,键值对形式
    • setHeaders: 添加请求头,键值对形式
    • replaceHeaderKeys: 替换请求头 keynamekey 是要被替换的值,value 是替换后的值
    • removeHeaderKeys: 移除的请求头的 key
    • statusCode: 响应状态码
    • addBodyKeys: 添加响应内容
    • replaceBodyKeys: 替换响应内容,key 是要被替换的值,value 是替换后的值
    • removeBodyKeys: 移除的响应内容的 key

修改响应体是通过 JSONPath 来实现的,$. 代表根目录

上面的配置,插件开启前,响应内容为

  1. {"id":3,"name":"hello world findById"}

插件开启后,响应内容为

  1. {"id2":3,"add":"4"}