Я тестирую ЗДЕСЬ Карты REST API - Custom Location Extension и сталкиваются с проблемой. Было упомянуто, что запрос POST
с использованием Коридора Поиск с использованием координат для пользовательских местоположений можно использовать вместо запроса GET
, если я хочу отправить запрос с большим набором координат, но пример POST
не был указан в 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
}
Примечания:
- Я написал это здесь, используя формат HTTP
- Этот запрос был тот же
GET
запрос в документации, и я просто попытался преобразовать его в качествеPOST
запроса путем перемещения параметра запроса в тело и посылая запрос с использованиемPOST
, - тип данных Body устанавливается как RAW TEXT
Edit: (Дальнейшее испытание)
Я также попытался переместить все параметры запроса от тела к URL, кроме route
.
POST /v1/search/corridor ?app_id=Qk8YkRrHMbbbpkVipwIZ
&app_code=tYSXrAAHGEOcUB_cxbPQSA&radius=100&layerId=852 HTTP/1.1
route=52.51978,13.388211, 52.5198326,13.3882084,
52.5198402,13.3883495,
52.5147705,13.3891602,
52.514758,13.389155
Ответ: { "сообщение": "Требуемые параметры не были предоставлены", "статус": "400 Bad Request", "ошибка": «параметр Обязательная строка 'маршрут' не представить», „targetLayerId“: нулевой }
Это работало для меня очень хорошо. Благодаря! –