我正在尝试将资源从以下/buckets/1方式移动到/buckets/2:
什么是RESTful方式要求服务器以这种方式移动资源?
某些文件系统的基本操作(例如ls和rm)有明显的对应关系,但是如何实现不直接的RESTful操作,如cp或mv?
作为问题的答案如何在REST中实现资源的复制粘贴?建议,首选的实现cp方式包括获取资源,删除它并使用新名称再次将其恢复.
但如果我需要有效地做呢?例如,如果资源的规模很大?如何消除资源有效负载到客户端和返回原始服务器的多余传输?
这是一个例子.我有一个资源:
/videos/my_videos/2-gigabyte-video.avi
我想将它复制到一个新资源:
/videos/johns_videos/copied-2-gigabyte-video.avi
我如何以RESTful方式实现复制,移动或其他文件系统操作?还是有正确的方法?我做错了吗?
我有一个 ProductsController,我想创建一个复制产品的操作方法。它只需要一个参数,它是一个 Id,它促使我想要使用一个简单的 GET 请求。不过,有些东西告诉我 GET 在这里没有意义。我真的使用 POST 并将单个 Id 传递给此方法吗?
这是我想出的:
// COPY: api/products/{id}/copy
[HttpPost("{id}/copy")]
public void Copy(int id)
{
_productManager.Copy(sourceProductId: id);
}
Run Code Online (Sandbox Code Playgroud)