我将REST API URL定义为
https://hostname/[version]/[service]/[operation]
我希望在WSO2 API Manager中转换JSON有效负载,以便将版本和操作放在里面。
因此,WSO2将以下列形式将其发送到后端:
POST https://backend/[service]
{
“version”: [version],
“operation”: [operation]
}
所以我需要将版本和操作从URL放到JSON有效负载中。怎么做?
答案 0 :(得分:0)
据我所知,您希望使用资源URI定义(而非API上下文)中的值创建新的有效负载和POST。
让我们假设:
您可能希望创建一个(synapse)中介流,就像ESB构建此类消息一样。
文档Adding Mediation Extensions中描述了插入中介。将针对API的每个请求执行此中介
拥有资源https://hostname/[version]/[service]/[operation]
在中介中,您可以构建JSON有效内容
<payloadFactory media-type="json">
<format>{
"version":"$1",
"service": "$2",
"some_original_data": "$3"
}</format>
<args>
<arg expression="get-property('uri.var.version')"/>
<arg expression="get-property('uri.var.service')"/>
<arg expression="$.person.name" evaluator="json" />
</args>
</payloadFactory>