路徑參數和查詢參數應在不同的場景中:
路徑參數:
當你試圖通過ID訪問資源,您應該使用它。例如
example/products/123456
上面你正在使用的ID 123456
產品如果你有一個子資源,例如:
example/products/123456/comments/1324
高於你所得到的評論ID爲1324到產品ID爲123456.
查詢參數:
當您嘗試使用與ID不同的過濾器查詢資源時,應該使用它。例如:
example/products?kind=food
上面你得到所有他們是親切食物的產品。
如果您有更多的過濾器,如:
example/products?kind=food&priceLessThan=1200
高於你所得到的所有,他們是一種食品,價格,產品低於1200你應該考慮的是,查詢參數是沒有必要的將這些字段匹配到產品資源中,在這種情況下,價格就是產品的字段,而不是priceLessThan,這個名稱只是過濾資源的邏輯。
此外,你可以排序和pagining這樣的:
example/products?kind=food&priceLessThan=1200&sortBy=name&page=10
正如你所看到的,查詢參數更靈活,因此,我們應該使用這些過濾。
POST與查詢參數:
您可以使用它,但是,它應該是陌生的。POST方法用於創建新資源,並且可以將請求主體創建爲JSON或XML所需的所有信息。
我需要一些元數據,當您創建一個資源,我建議使用請求頭。
查詢字符串是REST的一部分... –
我感到困惑,因爲我在互聯網上發現的例子在這種風格:http://www.example.com/product.php/POST,讓我不知道.. 。無論如何感謝您的答案 – jackycflau
btw如果我使用這種風格,我可以做這個POST請求?我有0個想法.. – jackycflau