【问题标题】: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 AllowedOPTIONS 的原因。

如果读取、更新和删除使用不同的资源标识符,那么您可能无法提供特别令人满意的caching 体验。 CacheREST 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
    相关资源
    最近更新 更多