2017-08-25 85 views
0

假设我有一个REST端点是这样的:我应该在url中还是在payload中传递查询参数?

http://server/users/query 

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

我想要做的那些参数的GET请求。

我应该更好地通过url中的参数吗?或者在我的GET请求的有效负载中放入类似的内容。

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

回答

1

根据我的理解,你有一个用户集合,你想得到它的表示。你应该考虑查询参数来筛选你的收藏,如下:

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

,避免GET请求与有效载荷。看到从RFC 7231报价:

一个GET请求消息内的有效载荷不具有确定的语义; 通过发送请求可能会导致一些现有的 拒绝请求。

0

MDN:GET请求(通常)没有机构那么使用查询参数或路径。

如果您正在向服务器发送请求,则应该读取它的API文档。