1

私はRESTAPIを設計しています。

さまざまな条件のステータスを変更できるようにしたい単一のリソースがあります。たとえば、URIは次のとおりです。

アプリケーション/{application_id}/

可能なステータス変更は、アプリケーションを次のように設定することです。

  1. キャンセル
  2. 署名した
  3. 所有

ステータスの変更ごとに、キャンセルの理由、サインオフの日付など、異なる情報が必要になります。

これを処理するための見栄えの良いURIは何でしょうか?考えていた

  1. POST:アプリケーション/{application_id}/キャンセル
  2. POST:アプリケーション/ {application_id} / SignOff
  3. POST:アプリケーション/{application_id}/保留

しかし、それは私には正しくないようです。

編集:

私はすでに POST:Applications / {application_id} を計画していて、既存のアプリケーションをアプリケーションデータのフルセットで更新することを計画していたことを述べておかなければなりません。

4

2 に答える 2

2

すべてのステータスに対して1つのURLを使用し、Statusオブジェクトにすべての異なるプロパティをカプセル化させます。これらはあなたのURLが行動のように見える言葉を持たないようにし、より安らぎを与えます。

POST: Applications/{application_id}/status

public class Status
{
   public string StatusType {get;set;}
   public string CancelReason {get;set;}
   public string SignOffDate {get;set;}
   ...
}
于 2013-01-15T16:09:52.177 に答える
0
POST: Applications/{application_id}?cancel=true

POSTはCREATEにのみ使用されます。私は置く方が良い選択肢になると思います。

于 2013-01-15T16:05:25.413 に答える