2014-07-24 36 views
0

我正在設計一個使用POST方法創建資源的REST API。 這個創建調用接受4個參數,這些參數是強制性的,但在邏輯上彼此不相關。 所以,我有兩個選項接受這些4輸入參數 -在REST API中傳遞參數的最佳選擇是什麼 - POST類型的方法?

  1. 的請求作爲JSON對象部分
    OR
  2. 在查詢參數爲(POST/API/someresource參數1 =值1 &形式? param2 = value2)

哪個選項最適合?

是否有提示選擇基於以上的事實兩種方法中的任何一個準則 -

  1. ,這些都是強制性的參數,所以我們不應該使用的查詢參數?
  2. 這些不是邏輯上相關的,而只是創建資源的輸入;所以我們可以使用查詢參數?

回答

0

/api/someresource?param1=value1&param2=value2很可能是GET請求,而不是請求。 如果您的請求更改服務器上的某個狀態,請使用POST。如果它只有一個讀操作使用GET

+0

你是建議遵循約定還是有更多的呢? – PST

+0

簡短的回答,都:)它使API更清晰和易於理解,但另外可能有相同的端點可以鏈接到兩個或多個方法的情況)/ api/example可以對POST,GET,PUT,DELETE做出不同的反應。 。所以要刪除一個項目,你不需要像/ api/deleteItem這樣的其他端點。您可以使用/ api/item並在刪除請求時刪除該項目:) :) – user3811473

+0

是的,我同意傳統方法。由於這四個輸入參數在邏輯上不相關,所以我不想將它們合併到一個輸入對象下並在服務器端接受它。 – PST

相關問題