我想使用由CentraSite 9.7配置的Mediator 9.7来虚拟化REST API。
对于资源,使用POST方法,我想传递一个json内容和一些查询参数。 但无论是否在资源或centrasite中的方法中配置参数,查询参数都不会发送到本机端点。
在GET方法中,查询参数始终没有问题地发送。
当我将此请求发布给Mediator时:
POST http://virtual-wm/v2.0/resource/test?from_date=2017-08-01&to_date=2017-08-31 HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
Authorization: truc
Content-Length: 14
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
["data"]
原生端点收到:
POST https://api.services/v2.0/resource/test HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
Authorization: truc
Content-Length: 14
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
["data"]
当然这不是我想要的。 我希望即使使用POST方法也可以将查询参数发送到本机点。
我怎样才能做到这一点?
答案 0 :(得分:0)
最后,我在软件AG支持上发现了这一点(找到它并不是那么简单)
CentraSite - Mediator not handling query string parameters in POST
Product: CentraSite (INM)
Version: 9.9
Last Updated: 31-MAR-2017
________________________________________
Description:
When invoking a REST virtual service through the Mediator, POST requests are sent to the backend but without their query string parameters.
________________________________________
Resolution:
Query parameters for POST method are not supported until version 9.12.
因此,除了升级到9.12之外,没有解决此问题的方法