如何发送自定义位置扩展程序的POST请求

时间:2015-12-17 02:35:53

标签: here-api

我正在尝试 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

备注:

  • 我在这里用HTTP格式写了
  • 此请求与文档中的{ "message": "Required parameters have not been provided", "status": "400 Bad Request", "error": "Required String parameter 'route' is not present", "targetLayerId": null } 请求相同,我只是尝试将查询参数转换为正文并使用GET发送请求,将其转换为POST请求
  • Body数据类型设置为RAW TEXT

修改 (进一步试验)

我还尝试将所有查询参数从正文移动到除POST之外的网址。

route

响应:     {       "消息":"未提供所需参数",       " status":" 400 Bad Request",       "错误":"必需的字符串参数' route'不存在",       " targetLayerId":null     }

1 个答案:

答案 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-datax-www-form-urlencoded键。然后该值是一串坐标。然后它回复了一个成功的回应。在尝试将任何有效负载作为原始文本时,我确实得到了同样的错误。

我不知道的事情:表单数据值是否有限制?

祝你好运。我同意官方文档对POST示例非常清楚,特别是因为他们明确建议将其作为发送大型有效负载的方法。