首页 > 解决方案 > 如果无法创建路由,预期的错误代码是什么?

问题描述

我正在使用Here Maps API的 REST 版本。似乎如果我提供无法路由的目标位置(纬度、经度),API 将返回 400(错误请求)的 HTTP 错误。

我的印象是我会得到一个 200 响应代码,但不会返回任何数据。

例如,如果我向 API 发送请求,以纽约为源,法国巴黎为目的地,API 将返回 400 错误请求。

标签: restgeolocationhere-api

解决方案


RESTful API 的响应码由 API 开发者决定。从您所说的看来,Here Maps 似乎不知道如何在大西洋上路由某人,并通过返回 400 Bad Request 响应而不是提供 200 响应来告诉您。Http状态码说明

您需要深入研究 api 文档,也许 API 期望有两个可以通过陆地路由的点,您可以提供一种方法来表明空运和/或海上路线也可以。

或者,您需要先在您的程序上检查 Here Maps API 的响应状态,然后再尝试将其作为 200 状态使用,如果您收到 400 状态,那么您可以向最终用户传达您遇到的错误可以告知他们特定请求可能失败的原因。这样的来源和目的地在大陆上没有被陆地连接。

(这让我想起了谷歌地图过去是如何提供行车路线的,它会告诉你划皮划艇穿越海洋,不确定是否仍然这样做,但说明了一种解决只能通过陆路走的陆路路线的方法。)


推荐阅读