2017-08-25 82 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文檔。