2017-03-02 13 views
1

我想構建一個RESTFUL API。請求在休息API中運行任務

我有一個任務計劃的資源。

客戶端應該請求服務器在其中一個任務計劃度量標準上運行任務,如基準測試。

應該使用哪個請求。 POST或GET?

什麼是uri?

/api/plans/<id>/run or /api/plans/run/<id> ? 
+2

在一般的使用'POST'使用,因爲'GET'是冪等和安全運行。由於「POST」請求的語義完全取決於您,您可以使用它向服務器發出進程觸發器。如果處理過程可能需要一些時間,請確保返回一個'202 Accepted'響應代碼,包括指向資源的'Location' HTTP響應頭,客戶端可以在進程的當前狀態上更多地使用該資源。一個真正的RESTful服務(和客戶端)並不關心URI的形式,儘管最佳實踐建議避免動詞作爲資源名稱,因爲它們傳遞的是RPC語義 –

回答

0

GET請求用於讀取/獲取數據。 POST請求用於創建數據。

如果用戶只是需要查看基準測試運行的結果,那麼我會使用GET請求來返回計劃的基準測試結果。

對於檢索單個記錄,URL約定是/things/:id,所以我建議api/plans/:id/run。我還建議將run重命名爲更具描述性的內容,例如benchmarkmetrics

0

我會去參加一個POST,既然是針對特定計劃的操作,則網址應該是plans/id?action=run

運行不是計劃的一個子集,以便查詢參數必須在這種情況下

+0

對資源的操作使用POST是根據RESTful標準? –

相關問題