我读过有关 REST API 的文档。从初学者的角度来看,我不明白为什么要使用 REST,而你可以用该post
方法做任何事情?
例如,如果我请求后端删除一个条目,我可以简单地delete_one
在请求中调用 url POST
,为什么要设计一个繁琐的DELETE
请求?
答案1
REST 约束的目标之一是从分层缓存中获益。遵循 REST 架构风格可为您提供一种通用语言来描述操作以及不同操作之间的关系,这种方式不仅端点(客户端和服务器)能够理解,而且缓存和中间件等中间组件也能够理解。这些缓存和中间件可能是通用的现成组件,并非专门为您的应用程序构建或配置,但只能理解 HTTP 的基本语义(或您使用的任何 REST 风格)。
对于您的特定示例,当您使用 HTTP DELETE 方法时,您还表明该 URL 上的缓存应该失效:
如果 DELETE 请求通过具有一个或多个针对有效请求 URI 的存储响应的缓存,则那些存储的响应将失效(参见[RFC7234]第 4.4 节)。
这意味着该 URL 上的后续 GET 命令应该从原始服务器检索,而不是从缓存中检索。