WSO2 将 API 上下文添加到 headers

WSO2 add API context to headers

我在 WSO2 实例后面有几个 API,每个都有自己的上下文(“/api-1/”、“/api-2/”、...) 我想将此上下文字符串动态添加到 Http header(无需在 per-API 基础上对其进行硬编码)。

因此,例如:

<sequence name="WSO2AM--Ext--In">
    <header name="X-Script-Name" 
     scope="transport" expression="get-property('', '')"/>
</sequence>

有没有可以用来实现这一目标的表达式?还是我应该求助于创建一个 per-API 调解器来包含它?

编辑:

我曾尝试使用 url 正则表达式,希望它能将 {context} 视为 uri 变量的一部分,但它似乎并没有这样做:

<header name="X-Script-Name" scope="transport" expression="uri.var.context"/>

你之前定义过"uri.var.context"吗?它不是要使用的内置变量。 您可以阅读 "To" header 并使用 xpath 应用字符串操作,以便获取上下文。

编辑;

您可以从 jwt token 读取 API 元数据(上下文、版本等)。从传输 header 获取 jwt 令牌并对其进行操作。