在REST API中將許多請求參數與GET請求放在一起是一個好習慣嗎?在REST API中使用GET請求提出許多請求參數
我已經經歷了幾個網站,並試圖獲得參數實現GET URI
的標準方式。
下面是我想要實現的:search for all users having provided all the search criteria
。
搜索標準是一樣companyID
,sections
,offset
,limit
,orderby
,filter
。
按照基本標準GET
要求不能有request body or payload
在裏面。
會不會是做一個GET
請求,並把後面?
所有參數請求URL好辦法,這樣的事情:
GET http://localhost:8080/api/users?companyId=qwerty§ions=hr&offset=0&limit=20&oorderby=asc&filter=^[sSmM]
我想做出一個PUT
或POST
請求和發送所有這些數據都在有效載荷中,並實現代碼以返回所需的響應,即用戶列表。
如果我這樣做,我將更改默認行爲HTTP methods
。
請你指導我一種擺脫困境的方法。 謝謝。
我明白這一點。你不覺得這些請求變得太長了。有一點,'POST'也被用於'update',其中'PUT'也被用於'create'。 – Joshi
當然,您可以使用'PUT'來創建,反之亦然,但這不會與REST的定義一致。 url字符串的最大長度限制爲2000個字符 - http://www.faqs.org/rfcs/rfc2616.html - 這應該是您唯一關心的問題。如果你想避免不必要的'GET'參數,你應該確保像'orderby'或'limit'這樣的東西是可選的,所以你不需要每次都設置它們 – MatthiasLaug