我正在尝试 HERE Maps REST API' s - Custom Location Extension 并遇到问题。有人提到,如果我想提交一个具有大坐标集的请求,则可以使用使用自定义位置坐标的走廊搜索的POST
请求代替GET
请求,但示例{{1请求不在documentation。
我试图找出如何提交POST
请求,这就是我得到了多远:
请求:
POST
回应:
POST /v1/search/corridor HTTP/1.1
Host: customlocation.cit.api.here.com
?app_id={YOUR_APP_ID}
&app_code={YOUR_APP_CODE}
&route=52.51978,13.388211,
52.5198326,13.3882084,
52.5198402,13.3883495,
52.5147705,13.3891602,
52.514758,13.389155
&radius=100
&layerId=30
备注:
{
"message": "Required parameters have not been provided",
"status": "400 Bad Request",
"error": "Required String parameter 'route' is not present",
"targetLayerId": null
}
请求相同,我只是尝试将查询参数转换为正文并使用GET
发送请求,将其转换为POST
请求修改 (进一步试验)
我还尝试将所有查询参数从正文移动到除POST
之外的网址。
route
响应: { "消息":"未提供所需参数", " status":" 400 Bad Request", "错误":"必需的字符串参数' route'不存在", " targetLayerId":null }
答案 0 :(得分:1)
我对此进行了一些调整,并且能够通过POST
从查询字符串中删除route
并将其作为表单键/值对发送来获得响应。我使用了演示凭据,正在使用Chrome插件" Postman"进行测试。我的POST URL如下所示:
https://customlocation.cit.api.here.com/v1/search/corridor?layerId=30&radius=100&app_id=DemoAppId01082013GAL&app_code=AJKnXv84fjrb0KIHawS0Tg
然后我设置了" {&#34}的form-data
或x-www-form-urlencoded
键。然后该值是一串坐标。然后它回复了一个成功的回应。在尝试将任何有效负载作为原始文本时,我确实得到了同样的错误。
我不知道的事情:表单数据值是否有限制?
祝你好运。我同意官方文档对POST
示例非常清楚,特别是因为他们明确建议将其作为发送大型有效负载的方法。