Skip to main content
Version: Next

1. Overview

1.1 Plugin Name#

  • ModifyResponse Plugin

1.2 Appropriate Scenario#

  • This plugin is used for modifying HTTP response status code, response headers or response body parameters.

1.3 Plugin functionality#

  • Reset HTTP response status code
  • Add, set, replace or remove HTTP response headers.
  • Add, replace or remove HTTP response body(JSON) parameters.

1.4 Plugin Code#

  • Core module shenyu-plugin-modify-response
  • Core class org.apache.shenyu.plugin.modify.response.ModifyResponsePlugin

1.5 Added since which shenyu version#

  • 2.4.0

2. How to use plugin

2.1 Plugin-use procedure chart#

2.2 Import pom#

  • import maven config in shenyu-bootstrap project's pom.xml file.
  <dependency>      <groupId>org.apache.shenyu</groupId>      <artifactId>shenyu-spring-boot-starter-gateway</artifactId>     <version>${project.version}</version>  </dependency>

2.3 Enable plugin#

  • In shenyu-admin --> BasicConfig --> Plugin --> modifyResponse set Status enable.

2.4 Config plugin#

  • Selector and rule config, please refer: Selector and rule config.
  • In shenyu-admin --> PluginList --> HttpProcess --> modifyResponse, add selector config first,then add rule config:
    • Add selector config
    • Add rule config

2.5 Examples#

Here is an example of client project shenyu-examples-http.

2.5.1 Example reset HTTP response status code#

2.5.1.1 Refer Local Deployment to start admin and bootstrap.#

2.5.1.2 Refer 2.2 to import pom and restart bootstrap.#

2.5.1.3 Refer 2.3 to enable plugin.#

2.5.1.4 Refer 2.4 to add plugin config.#

Add plugin config:

2.5.1.5 Call Interface#

2.5.2 Example modify HTTP response headers#

2.5.2.1 Refer Local Deployment to start admin and bootstrap.#

2.5.2.2 Refer 2.2 to import pom and restart bootstrap.#

2.5.2.3 Refer 2.3 to enable plugin.#

2.5.2.4 Refer 2.4 to add plugin config.#

Add plugin config:

2.5.2.5 Call Interface#

2.5.3 Example modify HTTP response body#

2.5.3.1 Refer Local Deployment to start admin and bootstrap.#

2.5.3.2 Refer 2.2 to import pom and restart bootstrap.#

2.5.3.3 Refer 2.3 to enable plugin.#

2.5.3.4 Refer 2.4 to add plugin config.#

Add plugin config:

2.5.3.5 Call Interface#

3. How to disable plugin#

  • In shenyu-admin --> BasicConfig --> Plugin --> modifyResponse set Status disable.

4. rule parameter list#

for modifying status code:

  • statusCode: reset response status code

for modifying response headers:

  • addHeaders: add response headers, k-v format
  • setHeaders: set response headers, k-v format
  • replaceHeaderKeys: replace response headers,key is matching to the header key that should be replacing, value is target value after replacing
  • removeHeaderKeys: remove response headers,key is matching to the header key that should be removing

for modifying response body:

  • addBodyKeys: add response body parameters
  • replaceBodyKeys: replace response body parameters,key is matching to the body(JSON) key that should be replacing, value is target value after replacing
  • removeBodyKeys: remove response body parameters,key is matching to the body(JSON) key that should be removing