【问题标题】:RESTful routes - routes doesn't support all CRUD operationsRESTful 路由 - 路由不支持所有 CRUD 操作
【发布时间】:2021-07-04 14:17:38
【问题描述】:

我想实现一个存储和操作数据的服务器。

我有一个添加数据的路由,一个更新数据的路由,一个显示数据的路由 以及删除数据的路径。

这是否意味着服务器不是 RESTful,因为不是每个路由都启用 GET、POST、PUT、DELETE ?

谢谢

【问题讨论】:

  • REST 不仅仅是简单的 CRUD。通过路由,我猜您的意思是每个任务都有自己的 URI。这听起来根本不像 RESTful,IMO,因为您没有考虑缓存,并且实际上没有考虑到这些操作而更改的资源。 REST 专注于资源和几个世纪以来在 Web 上使用的交互概念,并试图为应用程序提供这种“网上冲浪”体验

标签: rest server routes


【解决方案1】:

这是否意味着服务器不是 RESTful,因为并非每个路由都启用 GET、POST、PUT、DELETE

没有。不要求每个路由都支持每个 HTTP 方法令牌。这就是我们有405 Method Not Allowed 和OPTIONS 的原因。

如果读取、更新和删除使用不同的资源标识符,那么您可能无法提供特别令人满意的caching 体验。 Cache 是 REST architectural style 中的架构约束。

所以 这就是我会说你不是 RESTful。

REST 的部分要点在于接口的统一性——每个 REST API 都应该以与 HTTP 兼容文档存储理解消息的方式完全相同的方式理解消息。当您这样做时,我们多年来建立的用于与 HTTP 兼容文档存储通信的所有技术都可以正常工作。

采用 HTTP 作为应用协议 -- Jim Webber, 2011

【讨论】:

    猜你喜欢
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-08
    • 1970-01-01
    相关资源
    最近更新 更多