2017-09-22 75 views
0

我想實施有效的Restful API
我有一個名爲「喬布斯」的資源,也是我實現的CRUD [GET,POST,PUT ...]例如:GET: /api/jobs/1POST: /api/jobs/ with a body {...}
現在我想添加一個方法來啓動一個工號1234
我該如何執行此操作? URI應該是什麼?什麼應該是HTTP動詞?
有人可以給我一個例子如何爲非CRUD功能實現有效的寧靜api

回答

0

您可以創建一個新的資源

POST /started-jobs?jobId=1234 

您可以編輯工作在線狀態:

PUT /jobs/1234 
{ 
    "state": "started", 
    .. 
} 

您可以使用微PUT

PUT /jobs/1234/state 
started 

這就是我的頭頂。當然還有其他的選擇。哪一個最好?這需要更多關於你想要完成的事情的信息。

+0

嗨,Eric,你是什麼意思的微PUT?國家資源是什麼?開始的是什麼?你能解釋一下嗎?另外,在第二個選項PUT/jobs/1234中,我已經使用這個PUT來更新對象作爲CRUD的一部分。所以再次使用它是不可能的。最後一件事,我可以使用POST並使用/ jobs/StartJob {jobId:1234} – user4045308

+0

@ user4045308我的意思是創建一個代表單個屬性'state'的新端點。您可以將新狀態作爲字符串「PUT」到該端點。 –