0

我刚开始研究 REST,想知道这两种表示之间的基本区别是什么。第一个对我来说看起来很不错,第二个必须传递一些属性值,但底层逻辑似乎沸腾到几乎相同的东西(虽然我可能弄错了)

http://url/category/category_id/item_id

http://url/category?category_id={12}&item_id={12334}
4

3 回答 3

1

代理应该可以推理资源结构:

  • 基于 URL,以及
  • 基于资源请求返回的链接。

第二种表示的问题在于,它可以被视为一组无序的键和值,没有真正的结构/层次结构。

于 2009-11-22T01:32:39.220 回答
1

如果您单击标签中的按钮,您restful-url会从该站点获得一个很好的链接,解释这两种样式之间的区别:

如何使用不同的查找器“方法”获取 REST 资源?

于 2009-11-22T01:33:34.927 回答
1

我认为您对 REST 是什么有一些基本的误解。

用于访问资源的 URL 确实是一个细节,实际上对客户端来说并不重要。如果客户端遵循作为REST 原则之一的HATEAOS原则,那么 URL 应该真的被客户端“发现” 。

本质上你是对的:任何一个 URL都可以代表你最终暴露的资源,但正如我所说,这确实是一个细节,在许多情况下它归结为你暴露什么 URL 的偏好。HATEOAS 的重点是允许您随意更改用于访问资源的 URL,而不会影响与您现有服务一起工作的客户端。

以下 URL 可能会帮助您了解使服务真正 RESTful 的一些属性:

[免责声明:仅仅因为 HATEAOS 是 REST 的一项原则,并不容易做到。你会发现网络上的大多数服务根本没有严格遵循这个原则,他们的文档中充满了 URL 模板就证明了这一点;不是在理想世界中记录服务的方式。我正在努力寻找真正 RESTful 服务和客户端的好例子...]

于 2009-11-22T01:35:09.257 回答