現在、私たちはモノリスから小さなサービスを争っています。私たちのドメインは発券システムと非常に似ています。私たちは、ドメインの取り消し処理から始めることを決めました。CANCELアクションをRESTfulな方法でモデル化するにはどうすればいいですか?
キャンセルサービスにはチケットのIDを取り込む単純なエンドポイント「キャンセル」があります。内部的には、IDを取得し、それに関連するいくつかの操作を実行し、ストア内のエンティティの状態を更新します。ストアの観点からは、キャンセルされたチケットとライブチケットの唯一の違いはいくつかのプロパティです。
私が読んだものから、PATCHはリソースで唯一の単純なプロパティを更新していますように、この場合に使用する正しい動詞のようです。
PATCH /api/tickets/{id}
Payload {isCancelled: true}
ただし、isCancelledはエンティティの実際のプロパティではありません。エンティティの一部ではないペイロード内のプロパティを送信するのは公正でしょうか、またはこのリクエストをモデル化する他の形式を考えるべきですか?それが大きいので、ペイロードの一部としてエンティティ全体を送信したくありません。
私は新しいリソースCancelledTicketsを作成すると考えられてきたが、私たちのドメインで、我々はキャンセルチケットのGETへの必要性を持っていることはありません。したがって、すべてのヘルプは大幅に
おかげK
RESTfulとは、Roy Fieldigの制約に従わなければならないということです。これらの基準を遵守することは、サービスを使用するすべてのクライアントがサービスについて一定の前提を持つことができることを意味します。それが機能していることが遵守されていることがより重要であると私は理解しています。思考? –