相关疑难解决方法(0)

PATCH和PUT请求之间的主要区别是什么?

PUT在我的Rails应用程序中使用了一个请求.现在,PATCH浏览器已经实现了一个新的HTTP动词.所以,我想知道PATCHPUT请求之间的主要区别是什么,以及什么时候应该使用其中一个.

patch http put http-verbs

169
推荐指数
7
解决办法
9万
查看次数

HTTP Patch XmlHttpRequest支持

我正在研究一些todo应用程序,并希望使用HTTP方法PATCH来添加和删除todo,因为这在语义上优于PUT.

在后端我使用express.js(node.js)和前端backbone.js(使用jQuery for ajax).

我已经尝试过,如果它实际上在我的本地开发套件(Archlinux,Chromium 20,node.js 0.8,express 2.X)的后端和前端工作,它工作:

app.js

app.patch('/todo/:id', function(req, res){
    console.log('patch successfull');
}
Run Code Online (Sandbox Code Playgroud)

铬网控制台

$.ajax({ 
    url: '/messages/4ff13720f00e2e2c4b000006',
    type: 'PATCH',
    data: { body: 'that is a patched message' } 
});
Run Code Online (Sandbox Code Playgroud)

提到了请求,并且尽可能没有例外地提供数据库操作.

我现在想知道其他浏览器如何支持补丁方法.我看了谷歌,但很难找到一些东西,因为PATCH有多重含义......

browser jquery node.js express

15
推荐指数
1
解决办法
5040
查看次数

Java-HttpServlet补丁方法

我正在使用Java中的基本Servlet实现REST Api,但似乎找不到doPatch()方法。

为什么不HttpServlet实现PATCH方法?我想使用它,因为它对于资源更新更有意义。

java servlets http-patch

5
推荐指数
0
解决办法
625
查看次数

如何设计REST API,需要资源创建和修改才能被另一方批准

我必须为需要双重控制的安全敏感资源设计REST服务.设计实现双重控制的REST服务的优雅方法是什么?

双重控制

对于双重控制,我的意思是,如果多人(例如2人)参与变更,则变更才会生效.

例如,我有一个名为userProfile的资源.它定义了允许用户执行的所有操作.如果有人想要更改此类个人资料,则可以建议对其进行更改.然后必须验证此更改.此验证的结果是"批准"或"拒绝".一旦变更获得批准,它就会生效.

设计

我目前有一个userProfile资源和一个userProfileChangeProposal资源.

创建一个创建userprofile的提议

POST /userprofiles
Run Code Online (Sandbox Code Playgroud)

这将返回userprofile的ID.现在可以使用{id}进行验证

PUT /userprofiles/{id}/changeproposal
Run Code Online (Sandbox Code Playgroud)

删除或更新userprofile需要再次提交,因此:

DELETE /userprofiles/{id}
PUT /userprofiles/{id}
Run Code Online (Sandbox Code Playgroud)

可以通过以下方式再次验证这些更改:(对于用户配置文件,同时只能有1个提案)

PUT /userprofiles/{id}/changeproposal
Run Code Online (Sandbox Code Playgroud)

问题

我正在努力的事情是,其余的操作似乎在userprofile资源上运行,但事实上他们不这样做.删除不会直接删除资源.它会创建一个删除它的提议.此外,此方法不允许直接删除用户配置文件.

另一方面,如果通过更改提议进行所有更改,则所有创建/删除/更新操作都是正确的

CREATE /userprofilechangeproposal
Run Code Online (Sandbox Code Playgroud)

我没有在互联网上看到有关双控制设计的任何内容.最接近的是有人首先创建ORDER资源,并且只有在订单被批准后才会创建实际的CAR.

任何人都有最佳做法?

rest

2
推荐指数
1
解决办法
587
查看次数

标签 统计

browser ×1

express ×1

http ×1

http-patch ×1

http-verbs ×1

java ×1

jquery ×1

node.js ×1

patch ×1

put ×1

rest ×1

servlets ×1