正如大家可能已经注意到的那样,在野外存在大量虚假/基本的REST-API(实现HTTP-API并将其称为REST而不遵循应用程序状态引擎的超文本要求,这导致到famous rant of Roy T. Fielding,第一个指定REST范式的人 .
我一直无法找到真正的超文本驱动的REST实现的任何实际示例,以及状态转换的相关应用程序特定的媒体类型定义 .
是否有任何可公开访问的此类实现示例?
正如大家可能已经注意到的那样,在野外存在大量虚假/基本的REST-API(实现HTTP-API并将其称为REST而不遵循应用程序状态引擎的超文本要求,这导致到famous rant of Roy T. Fielding,第一个指定REST范式的人 .
我一直无法找到真正的超文本驱动的REST实现的任何实际示例,以及状态转换的相关应用程序特定的媒体类型定义 .
是否有任何可公开访问的此类实现示例?
5 回答
Netflix有一个基于HATEOAS的REST API,它包含作为资源一部分的链接 .
在Roy的第四点中,不是Sun Cloud API的RESTful实际解决了:
Example 1 已定义的heirachy中的固定资源名称:
来自Sun Cloud API:“... VDC的表示将包括居住在其中的群集的表示,其反过来包括每个群集中的VM的表示 . ”
Example 2 带外信息,例如特定于域的标准:
您必须拥有wiki页面内容(带外信息)才能知道 Cloud 资源字段“uri”的“资源通信机制”是GET .
它不是运行代码意义上的实现,但我非常喜欢文章“How to GET a cup of coffee " on InfoQ. It describes the process of ordering a coffee at Starbucks as a RESTful protocol. This goes beyond the typical "一切都是资源”的REST介绍性文章,并侧重于HATEOAS . 强烈推荐 .
我意识到这是前一段时间被问到的,但我为了一个简单的例子,我试图展示一个"proper" REST API流程 . 我试图遵循Roy的REST规则 - 也许它可以帮助:API Example using REST
Sun Cloud API怎么样?从介绍:
backstory也可能有所帮助 .