2017-02-16 64 views
2

我正在閱讀有關REST的書。它建議使用GET請求,方法名稱應該在HTTP方法頭中,並且檢索數據所需的任何參數都應該位於URI中。 例如:www.flickr.com/search=penguinsREST:GET電話

現在,在許多情況下,需要多個參數來檢索數據。例如,應用程序的名稱,用戶的名稱,用戶的地址等。如果需要多個參數來檢索數據,那麼將這個信息包含在URI中還是可以傳遞JSON對象並使用HTTP POST ?

還是那樣做不是RESTful的

回答

0

與所有的事情一樣,存在權衡。如果使用GET篩選查詢參數,並且數據可緩存,則緩存將能夠存儲這些請求的結果並稍後保存工作。儘管如此,你的查詢字符串的大小是有限的。瀏覽器的上限允許爲2k個字符,但大多數瀏覽器至少支持8k。

如果使用POST和過濾器主體進行過濾,則可以將該過濾器保存爲資源並稍後再引用它,包括以後的GET調用。您對查詢的大小也沒有上限。

0

沒有服務,你不能在GET請求通過JSON,因爲GET請求沒有身體。您可以使用&通過在多個URI查詢參數,例如:

http://myserver:port/search=penguins&type=movie&name=happy 

您可以使用PostmanDHC從Chrome網上應用店,以測試你的請求和響應。