我知道REST端點應該是名詞而不是動詞,但有時會允許輕微的偏差嗎?Restful端點命名約定
想象一下,應該發佈產品的一個端點(使其在網頁上可見,可能會向隊列中添加某些內容)。
我可以想出2種方法來解決這個問題。
1)PUT api/products/1 /發佈 - 我喜歡它,因爲它是明確的,避免了後端的複雜性,並且它自我記錄。
2)PATCH/PUT/PATCH API /產品/ 1
{
"color": "green",
//some properties removed for brevity
"ispublished" : true
}
第二種方法需要後端服務來跟蹤0人推薦閱讀領域對後身體時已經翻轉爲true,開始出版過程。這感覺有點複雜和更多的維護。
所以我的問題是,從REST的角度來看,使用第一種方法可以嗎?有一些很大的缺點嗎?
狀態「發表」作爲最終產品_state_。爲了達到這個狀態,「發佈」命令需要首先被觸發。建議的選項1看起來像是一個正確的[command](http://stackoverflow.com/a/5625525/4207332)觸發器。 –
@SergeyShushlyapin REST不關於_commands_,REST關於_resources_及其_states_。 RPC是關於_commands_的。 –