rest - 如果无法创建路由,预期的错误代码是什么?
问题描述
我正在使用Here Maps API的 REST 版本。似乎如果我提供无法路由的目标位置(纬度、经度),API 将返回 400(错误请求)的 HTTP 错误。
我的印象是我会得到一个 200 响应代码,但不会返回任何数据。
例如,如果我向 API 发送请求,以纽约为源,法国巴黎为目的地,API 将返回 400 错误请求。
解决方案
RESTful API 的响应码由 API 开发者决定。从您所说的看来,Here Maps 似乎不知道如何在大西洋上路由某人,并通过返回 400 Bad Request 响应而不是提供 200 响应来告诉您。Http状态码说明
您需要深入研究 api 文档,也许 API 期望有两个可以通过陆地路由的点,您可以提供一种方法来表明空运和/或海上路线也可以。
或者,您需要先在您的程序上检查 Here Maps API 的响应状态,然后再尝试将其作为 200 状态使用,如果您收到 400 状态,那么您可以向最终用户传达您遇到的错误可以告知他们特定请求可能失败的原因。这样的来源和目的地在大陆上没有被陆地连接。
(这让我想起了谷歌地图过去是如何提供行车路线的,它会告诉你划皮划艇穿越海洋,不确定是否仍然这样做,但说明了一种解决只能通过陆路走的陆路路线的方法。)
推荐阅读
- c++ - 二叉搜索树中最后 N 个节点的总和
- visual-studio - VC_redistx64 包可以在没有visual studio的情况下安装使用吗?
- android - 如何在android中制作带有Image和textview的Button?
- node.js - 当新用户注册时,我想将通知推送到 mongo DB 的通知集合中
- javascript - TypeError:无法在反应中读取 null 的属性“0”
- reactjs - 使用 React Hooks 更新值
- python - 一个点击计数器,显示您使用 python 3.8、tkinter、win32 和 pynput 单击左 mb 的次数
- ansible - 我如何在ansible中计算任务成功/失败?
- c# - C#:如何在 json 的引号内使用括号?
- c# - 使用 XMLReader 解析大 XML 文件