我一直在阅读this documentation more than two weeks,但仍然很难理解一些概念。
让我们考虑简单的案例。 用户向我们的API发出请求,然后EI必须根据请求正文调用特定端点并显示响应。
现在获取HTTP请求的数据存在一个主要问题。
我知道可以通过Property Mediator
访问它,但this documentation无法理解任何内容。
如果用户提出GET
这样的请求:
https://my-ei-domain.com:8280/myapi/mymethod?query1=1&query2=2
如何获得query1
和query2
的价值
如果用户使用POST
表单数据提出urlencoded
请求如何获取这些数据?
如果用户向POST
机构提出JSON
请求,请执行以下操作:
{
"var1": "one",
"var2": 2,
"var3": {
"var3_var1": "two"
}
}
如何获取这些变量的值?
用户向POST
正文发出XML
次请求:
<body>
<var1>1</var1>
<var2>2</var2>
<var3>
<var1>3</var1>
</var3>
<body>
如何获得这些值?
下一个问题。有时用户会在请求的标头内发送一些变量。如何获得它们?
这些案例在文档中没有很好地描述。即使它们是,它们只分散在多个页面中。
答案 0 :(得分:1)
大多数文档中的答案或易于在网上找到。
答案 1 :(得分:0)
您的问题很长,我可以看到您正在请求有关如何实现这些目标的教程。我希望以下Wso2相关教程可以帮助您:
Enterprise Service Integration
作为一个例子,让我解释一些问题的答案:
从以下查询中获取信息:
http://127.0.0.1:8280/pizzashop/api/menu/pizza?val=thin&type=crust
你可以使用这样的财产调解员:
<property name="Type" expression="$ctx:query.param.type"></property>
<property name="Val" expression="$ctx:query.param.val"></property>
WSO2使用调解员来完成大部分任务。例如,payloadFactory mediator可用于处理json和xml主体并对其进行转换。处理以下json
{ "payment":
{
"amount_lkr": "175.00",
"card_no": "1234-5678-9876-5432"
}
}
我们可以使用payloadFactory中介,如下所示:
<payloadFactory media-type="json">
<format>{"purchaseInformation": {"amount": "$1","cc": "$2"}}</format>
<args>
<arg evaluator="json" expression="$.payment.amount_lkr"></arg>
<arg evaluator="json" expression="$.payment.card_no"></arg>
</args>
</payloadFactory>
同样,此调解器和其他调解器也可用于处理POST
请求中的xml。
请从教程中学习。细节太宽泛,无法在一个答案中解释