在 WSO2 API 管理器中更改 Header

Changing Header In WSO2 API Manager

是否可以在 wso2 api 管理器中更改 API 的 header? 假设您有一个 API 和所需的 header user-key:user-value 并且您想将其更改为 backend-key:user-value.

我想知道这可能吗?

这也可以通过编写 class 调解器来完成。如果有 backend-key header 附带的请求,您可以获取该请求并将其设置为 user-key header。这可以通过编写 class 中介来完成。您可以在调解器内部编写逻辑。请参阅此文档 https://apim.docs.wso2.com/en/latest/learn/api-gateway/message-mediation/adding-a-class-mediator/.

使用自定义序列,您可以按如下方式轻松完成此操作。

<sequence xmlns="http://ws.apache.org/ns/synapse" name="header_sequence">
   <property name="user-value" expression="$trp:user-key"/>
   <header name="backend-key" scope="transport" expression="get-property('user-value')"/>
   <property name="user-key" scope="transport" action="remove"/>
</sequence>
  1. 读取用户密钥header
  2. 添加 backend-key header 和用户密钥 header 值
  3. 删除用户密钥header。否则,它传递给后端。