REST 中的操作 API
Action in a REST API
我的应用程序的 Web 服务是一个 Express 服务器,我试图尽可能保持 RESTful。
我有一条 /timesheets
路线。这里的 GET
请求显然会获取时间表列表。此外,POST
自然会创建一个时间表。
但是,我需要向我的 Web 服务发送 说明 到一组时间表上的 "sign off"某个 paycycle
(又是另一个资源)。
在我看来,为支付周期中的一组时间表提供签核不是一种资源,而是一种行动。对我来说构建 Web 服务的建议最佳实践方法是什么?
可能的解决方案是发送 POST
请求至:
/paycycle/{paycycleId}/sign-off/
正文:
{
"time_sheet_id": {timesheetId}
}
,其中 {timesheetId}
是时间的 ID sheet,{paycycleId}
是您要退出的支付周期的 ID。
您可以将 'being signed off' 视为一种状态,而不是将 'signing off' 视为一种行为。 REST 处理状态转移,所以这突然变得容易了。
因此,如果某些资源看起来像这样(使用 JSON,因为每个人都这样做):
{
"signedOff" : false
}
那么这意味着您可以发送一个 PUT
请求,将其设置为:
{
"signedOff" : true
}
我的应用程序的 Web 服务是一个 Express 服务器,我试图尽可能保持 RESTful。
我有一条 /timesheets
路线。这里的 GET
请求显然会获取时间表列表。此外,POST
自然会创建一个时间表。
但是,我需要向我的 Web 服务发送 说明 到一组时间表上的 "sign off"某个 paycycle
(又是另一个资源)。
在我看来,为支付周期中的一组时间表提供签核不是一种资源,而是一种行动。对我来说构建 Web 服务的建议最佳实践方法是什么?
可能的解决方案是发送 POST
请求至:
/paycycle/{paycycleId}/sign-off/
正文:
{
"time_sheet_id": {timesheetId}
}
,其中 {timesheetId}
是时间的 ID sheet,{paycycleId}
是您要退出的支付周期的 ID。
您可以将 'being signed off' 视为一种状态,而不是将 'signing off' 视为一种行为。 REST 处理状态转移,所以这突然变得容易了。
因此,如果某些资源看起来像这样(使用 JSON,因为每个人都这样做):
{
"signedOff" : false
}
那么这意味着您可以发送一个 PUT
请求,将其设置为:
{
"signedOff" : true
}