我应该使用哪个HTTP动词将数据发送到API并获得响应?

时间:2019-01-19 19:24:17

标签: javascript http

我正在构建一个用于在给定位置附近查找会议的应用程序。

我想向API发送latlng坐标和一个半径,该API将返回给定坐标范围内的会议列表。

{
  origin: {
    lat: 2.1,
    lng: 1
  },
  radius: 5
}

我应该使用哪个HTTP动词? this list不清楚我应该使用什么?

3 个答案:

答案 0 :(得分:3)

从API检索数据时,应使用GET。 (纬度和经度是API的过滤器)

答案 1 :(得分:1)

我只是将POST用于此操作。在RESTful的意义上,不要对那些动词对应于哪种操作进行过分的追究。传统上,POST是创建对象的,但是在这种情况下,适用Occam的Razor-通常,最简单的解决方案是正确的解决方案。

如果要使用GET,请重构请求以将参数放在URI上。 GET请求中的有效负载主体不是标准的。

此外,请参阅以下内容: How to design RESTful search/filtering?

这个问题主要是基于宗教/观点的讨论。上面提到的SO表示搜索本身就是一种资源,并且正确地指出,仅使用POST并不一定需要在某个地方的数据库中创建某些内容。

答案 2 :(得分:-2)

对于基于观点的问题没有明确的答案。我将使用查询字符串通过HTTP Get发送JSON参数。