REST API 状态更改

问题描述 投票:0回答:3

我正在设计一个 REST API。

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

应用程序/{application_id}/

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

  1. 取消
  2. 已签署
  3. 按住

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

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

  1. 发布:应用程序/{application_id}/取消
  2. POST:应用程序/{application_id}/SignOff
  3. POST:应用程序/{application_id}/保留

但我觉得不太对。

编辑:

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

api rest
3个回答
2
投票

我会坚持使用一个 url 来表示所有状态,并让您的 Status 对象封装所有不同的属性。这些可以防止您的网址出现看起来像动作的文字,并且更加安静。

POST: Applications/{application_id}/status

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

0
投票
POST: Applications/{application_id}?cancel=true

POST 仅用于 CREATE。 我认为看跌期权将是更好的选择。


0
投票

对于restful API,每个端点都将资源表示为名词。 你要对资源进行操作,操作可以分为操作/保留、操作/取消等

POST: Applications/{application_id}/operations/hold
POST: Applications/{application_id}/operations/cancel
POST: Applications/{application_id}/operations/signOff
© www.soinside.com 2019 - 2024. All rights reserved.