假设我有一个这样的REST端点:
http://server/users/query
我的查询中有参数:age, city, country
我想用这些参数做一个GET请求。
我应该更好地传递url
中的参数吗?或者在我的GET请求的有效负载中添加这样的内容。
"query": {
"age": "something",
"city": "something",
"country": "something"
}
答案 0 :(得分:1)
根据我的理解,您有一个用户集合,并且您希望获得它的表示。您应该考虑查询参数来过滤您的集合,如下所示:
http://[host]/api/users?age=something&city=something&country=something
使用有效负载避免GET
次请求。请参阅RFC 7231:
GET
请求消息中的有效负载没有定义的语义; 在GET
请求上发送有效负载正文可能会导致某些现有负载 拒绝请求的实现。
答案 1 :(得分:0)
来自MDN:GET请求(通常)没有正文,因此请使用查询参数或路径。
如果您向服务器发出请求,请阅读其API的文档。