相关疑难解决方法(0)

REST中的PUT与POST

根据HTTP/1.1规范:

POST方法用来请求原始服务器接受被附在请求由标识的资源的新下属实体Request-URIRequest-Line

换句话说,POST用于创建.

PUT方法请求将所包含的实体存储在提供的实体下Request-URI.如果Request-URI引用已经存在的资源,则封闭的实体应该被视为驻留在源服务器上的实体的修改版本.如果Request-URI未指向现有资源,并且该URI能够被请求用户代理定义为新资源,则源服务器可以使用该URI创建资源.

也就是说,PUT用于创建或更新.

那么,应该使用哪一个来创建资源?或者需要支持两者?

rest post http put

5227
推荐指数
34
解决办法
227万
查看次数

在URL中表示资源克隆操作的其他方法是什么?

我有REST API,它暴露了一个复杂的大型资源,我希望能够克隆这个资源.假设资源暴露在/resources/{resoureId}

要克隆资源10我可以做类似的事情.

  • GET /resources/10
  • POST /resources/put的主体包含GET /resources/10没有id 的表示的副本,以便POST创建新的资源.

这种方法的问题是资源非常庞大和复杂,将完整的表示返回给客户端然后让客户端将其发送回来实际上是没有意义的,因为这只会浪费带宽,而cpu就是服务器.克隆服务器上的资源要容易得多,所以我想这样做.

我可以做类似的事情POST /resources/10/clone,POST resources/clone/10但这两种方法都错了,因为URL中的动词.

构建可以在这种情况下使用的url的最"安静/名词"方式是什么?

rest

54
推荐指数
4
解决办法
1万
查看次数

如何使用REST建模文件系统操作?

某些文件系统的基本操作(例如lsrm)有明显的对应关系,但是如何实现不直接的RESTful操作,如cpmv

作为问题的答案如何在REST中实现资源的复制粘贴?建议,首选的实现cp方式包括获取资源,删除它并使用新名称再次将其恢复.

但如果我需要有效地做呢?例如,如果资源的规模很大?如何消除资源有效负载到客户端和返回原始服务器的多余传输?

这是一个例子.我有一个资源:

/videos/my_videos/2-gigabyte-video.avi

我想将它复制到一个新资源:

/videos/johns_videos/copied-2-gigabyte-video.avi

我如何以RESTful方式实现复制,移动或其他文件系统操作?还是有正确的方法?我做错了吗?

filesystems rest file

5
推荐指数
2
解决办法
2233
查看次数

如何在REST中实现资源的复制粘贴?

您将如何以RESTful方式实现复制粘贴支持?

假设我有书店资源.每家商店都有书籍

http://mydomain.com/rest/book-stores/1
http://mydomain.com/rest/book-stores/1/books/12
Run Code Online (Sandbox Code Playgroud)

我需要客户端能够调用书籍的复制粘贴到另一个商店.

实施以下内容:

PUT http://mydomain.com/rest/books/1/copy-paste
Run Code Online (Sandbox Code Playgroud)

看起来很像RPC.您是否有任何建议如何以RESTful方式对此操作进行建模?

rest copy-paste

3
推荐指数
1
解决办法
3928
查看次数

标签 统计

rest ×4

copy-paste ×1

file ×1

filesystems ×1

http ×1

post ×1

put ×1