我应该在网址或有效负载中传递查询参数吗?

时间:2017-08-25 08:23:27

标签: node.js rest express

假设我有一个这样的REST端点:

http://server/users/query

我的查询中有参数:age, city, country

我想用这些参数做一个GET请求。

我应该更好地传递url中的参数吗?或者在我的GET请求的有效负载中添加这样的内容。

"query": {
    "age": "something",
    "city": "something",
    "country": "something"
}

2 个答案:

答案 0 :(得分:1)

根据我的理解,您有一个用户集合,并且您希望获得它的表示。您应该考虑查询参数来过滤您的集合,如下所示:

http://[host]/api/users?age=something&city=something&country=something

使用有效负载避免GET次请求。请参阅RFC 7231

中的引用
  

GET请求消息中的有效负载没有定义的语义;     在GET请求上发送有效负载正文可能会导致某些现有负载     拒绝请求的实现。

答案 1 :(得分:0)

来自MDN:GET请求(通常)没有正文,因此请使用查询参数或路径。

如果您向服务器发出请求,请阅读其API的文档。