REST API状态更改

时间:2013-01-15 16:03:26

标签: api rest

我正在设计一个REST API。

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

应用/ {APPLICATION_ID} /

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

  1. 取消
  2. SignedOff
  3. 保留
  4. 每次状态更改都需要不同的信息,例如取消的原因,签收日期。

    什么是好看的URI来处理这个?我原以为是

    1. POST:应用程序/ {application_id} /取消
    2. POST:Applications / {application_id} / SignOff
    3. POST:Applications / {application_id} / Hold
    4. 但它对我来说似乎不对。

      修改

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

2 个答案:

答案 0 :(得分:1)

我会坚持使用一个网址来处理所有状态,并让您的Status对象封装所有不同的属性。这些可以防止你的网址看起来像行动并且更加安静。

POST: Applications/{application_id}/status

public class Status
{
   public string StatusType {get;set;}
   public string CancelReason {get;set;}
   public string SignOffDate {get;set;}
   ...
}

答案 1 :(得分:0)

POST: Applications/{application_id}?cancel=true

POST仅用于CREATE。我认为put会是更好的选择。