休息安全确保资源删除

Rest Security Ensure Resource Delete

背景:
我是一名刚从大学毕业的新开发人员,在一家使用 RPC 架构风格进行大量内部服务的公司工作。

他们似乎也经常改变他们在幕后使用的工具,因此 RPC 中客户端和服务器实现之间的紧密耦合是有问题的。

我的任务是重写其中一项服务,我觉得 RESTful api 会很合适,因为支持技术无论如何只能处理文件,但我有几个问题。


到目前为止,我对 REST 的理解是尽可能地分解操作并将重点转移到资源上,因此客户端和服务器一起制作一个状态机,服务器主要通过超媒体处理转换。

示例:
假设你有一个服务获取一个文件并将其分成两个字节。

我会为此设计序列

  1. 客户会POST他们想要拆分的文件,
    • 服务器拆分文件
    • 服务器将两个结果片段写入临时文件夹
    • 服务器 returns 客户端应该 GET 和两个文件 URI 的
  2. 客户端发送一个 GET 文件
    • 服务器 returns 片段,客户端应该删除 URI
  3. 客户端发送 URI 的 DELETE
两个片段都完成了 2 和 3。

我的问题是:
你如何确保片段在end?

如果这两个部分是不可分割的,那么它们实际上只是一个资源的属性。

是的,如果 POST/PUT 后面必须跟一个 DELETE,那么您可能只是想将 RPC 硬塞进 REST 风格的架构中。

没有关于 "REST" 实际上是什么的真正定义,但是如果可以确定的一件事是它必须是无状态的;即每个单独的请求都必须是自给自足的——它不能依赖于先前的请求,也不能强制执行后续请求。