2

我刚开始学习网络服务,我有一个新手问题:

以 json 格式提供数据的 Web 服务一定是 REST Web 服务吗?

提前致谢!=D

4

1 回答 1

0

实际上,使用纯 JSON 的 Web 服务很可能根本不是 REST Web 服务。REST 最重要的(也是被忽视的)约束之一是 HATEOAS,或超文本作为应用程序状态的引擎。这只是意味着应该像使用网站一样使用 REST Web 服务,通过接收包含您感兴趣的资源的表示的文档,以及指向其他资源的链接,然后通过以下链接来使用它来做你想做的事想要做。

您会意识到很少有“REST”API 真正做到这一点,大多数都要求您按照文档中提供的模板将 URI 组装成您想要的任何东西。

JSON 本身不支持链接,因此使用 JSON 的 Web 服务要成为 RESTful,它必然需要一些标准来以 JSON 格式呈现指向其他资源的链接。其中一种格式是HAL,但还有其他格式。

不幸的是,关于 REST 存在很多错误信息和误解,包括 Stack Overflow 本身的一些非常流行的问题和答案,而且大多数所谓的 REST API 根本不是 RESTful。下面的链接由 REST 的作者提供,用比他的学术论文更简单的语言总结了整个问题:

http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven

于 2013-11-09T18:17:45.233 回答