aue*_*chb 9 api standards http http-verbs stripe-payments
但是,Stripe API 用于Post更新对象。为什么是这样?
例如,在Stripe 节点库中
update: stripeMethod({
method: 'POST',
path: '{id}',
}),
Run Code Online (Sandbox Code Playgroud)
该update方法调用POST
我知道没有Patch方法,因为每次调用时都必须发送整个资源,为什么Put在这种情况下不使用 HTTP 动词?
(与有关 Facebook API 的 SO 问题中的示例不同,资源可以通过 URL 中传递的单个 ID 来识别)例如 URL 很简单/v1/customers/:id
有趣的问题!从您的链接:
PUT 方法请求将所包含的实体存储在提供的 Request-URI 下。如果 Request-URI 引用一个已经存在的资源,则所包含的实体应该被视为驻留在源服务器上的实体的修改版本。[强调我的]
这意味着您必须拥有PUT整个资源(更改和未更改都一样)。很少有 API 是这样设计的。
POST 方法用于请求源服务器接受请求中包含的实体,作为请求行中的请求 URI 标识的资源的新下属。POST 旨在允许统一的方法来涵盖以下功能:
- 现有资源的注释;
许多/大多数 API 已采用POST作为更新对象的方式。
这里有一些额外的想法:https ://stackoverflow.com/a/25909372/379538
| 归档时间: |
|
| 查看次数: |
1297 次 |
| 最近记录: |