RESTエンドポイントは動詞の代わりに名詞でなければならないが、時にはわずかな偏差が許されることは知っていますか?緩やかなエンドポイント命名規則
製品を公開するエンドポイントを想像してください(ウェブページに表示するか、キューに何かを追加するなど)。
私はこれを解決する2つの方法を考え出すことができます。
1)PUT api/products/1/publish - 私はそれが明白であり、バックエンドの複雑さを避け、それを自ら文書化するので、好きです。
2)PATCH/PUT/PATCHのAPI /製品/ 1
{
"color": "green",
//some properties removed for brevity
"ispublished" : true
}
第2のアプローチは、ポスト本体にisPublishedフィールドを追跡するためにバックエンドサービスを必要とし、それが本当のスタートに反転したとき出版プロセス。これは少し複雑でより多くのメンテナンスを感じます。
私の質問は、RESTの観点からは最初のアプローチを使用するのはいいですか?いくつかの大きな欠点がありますか?
ステータスを最終製品_state_です。この状態になるためには、まず "publish"コマンドを_triggered_する必要があります。提案されたオプション1は、適切な[コマンド](http://stackoverflow.com/a/5625525/4207332)トリガーのように見えます。 –
@SergeyShushlyapin RESTは_commands_についてではなく、RESTは_resources_と_states_についてです。 RPCは約_commands_です。 –