地图服务设计:从只读到读写资源的转变
1. 只读地图服务的响应处理
在地图服务的设计中,针对不同的请求情况,需要返回合适的响应代码。以下是几种常见情况及其处理方式:
- 未知地点请求 :当搜索后仍不清楚客户端所指的地点时,返回 404(“Not Found”)响应代码。例如,请求一个不存在的地名“Tanhoidfog”,目前它并不存在,但未来有可能成为一个有效的地名,客户端可以通过该服务来检查哪些地点确实存在。
- 无效经纬度请求 :客户端可能会使用逻辑上不可能的经纬度,如 500,-181(北纬 500 度,西经 181 度)。这种情况下,404 响应也是合适的,但 400(“Bad Request”)更为精确。因为几何定律决定了这样的地点不可能存在,一个有基本常识的客户端在请求前就应该能意识到这一点,所以该问题是客户端请求的过错。
- 无搜索结果 :在地图上搜索地点可能没有结果,比如在加利福尼亚州的塞瓦斯托波尔附近没有赛车跑道。这虽令人失望,但并非错误,可返回 200(“OK”)响应代码和一个表示。该表示应包含搜索地点的链接以及一个空的搜索结果列表。
- 服务器过载 :服务器可能因请求过多而无法处理特定请求,此时响应代码为 503(“Service Unavailable”),也可以选择完全拒绝处理该请求。
- 服务器故障 :服务器可能由于数据缺失或损坏、软件漏洞、硬件故障等原因无法正常运行,这种情况下响应代码为 500(“Internal Server Error”)。许多 W
超级会员免费看
订阅专栏 解锁全文
2万+

被折叠的 条评论
为什么被折叠?



