1

我正在设计一个 REST API。

我有一个资源,我希望能够针对不同的条件更改其状态,例如 URI 是:

应用程序/{application_id}/

可能的状态更改是将应用程序设置为:

  1. 取消
  2. 签核
  3. 抓住

每个状态更改都需要不同的信息,例如取消的原因、签署的日期。

处理这个问题的好看 URI 是什么?我曾想过

  1. POST:应用程序/{application_id}/取消
  2. POST:应用程序/{application_id}/SignOff
  3. POST:应用程序/{application_id}/Hold

但这对我来说似乎不对。

编辑:

我应该提到我已经在计划 POST: Applications/{application_id} 使用全套应用程序数据更新现有应用程序。

4

2 回答 2

2

我会坚持为所有状态使用一个 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。我认为 put 会是更好的选择。

于 2013-01-15T16:05:25.413 回答