我希望开发一个与HATE美洲组织的Spring集成。我已经搜索了网络,我没有找到任何这样的工作例子,通过它,我可以理解HATEOAS的概念。
我只找到了这一资源,它本身有很多代码,很难理解。是否有完整的工作样本?
发布于 2016-05-20 18:31:48
您可能会看到这个示例Spring/Boot项目:https://github.com/opencredo/spring-hateoas-sample和相关博客文章:用Spring实现HAL超媒体REST中的一些解释
这些例子展示了一个简单但不那么简单的API。
API代表一个虚构的图书馆,其中包含与作者和出版商相关的图书目录。
所有参考资料都包含链接示例。Book GET还展示了如何返回不同级别的详细信息,包括嵌入或链接相关资源。
除了获取所有资源的示例之外,它还包括其他“命令”端点,例如将一本书添加到收藏、借阅和返回图书。
发布于 2015-04-16 07:28:45
在这个储存库中有一个非常基本的例子。在弹簧RESTBucks中可以找到一个更高级的展示。
发布于 2015-05-27 17:52:15
下面的示例EchoService用代码描述了一步一步的解释。它使用Spring,并使用TestRestTemplate显示了样本Spock测试。
HATEOAS意味着(至少在我看来:-)您将HTTP资源视为状态机,这意味着它可以根据其(系统)内部状态进行更改。
最常见的例子是作为资源的银行帐户。访问资源(帐户)将返回有关它的各种信息,并链接到可以在其上执行的操作。而这些操作(因此可用的链接)取决于帐户的状态。如果用户有钱,那么链接可以是{“订金”:“订金-url”,“取款”:“取款-url”}。当用户在帐户上没有钱时,返回的链接(可用的操作)可以是{“定金”:“存款-url”}。因此,可用操作/操作/链接的列表不同,取决于资源的状态。
另一个常见的例子是有不同的菜单项取决于用户的角色/权限。在在服务器端生成整个页面的应用程序中,您可以通过简单的检查: if (isAdmin(currentUser)) {{GenerateSecuricLink}{. }生成到页面模板中的不同操作的链接。但是,当使用REST服务时,大多数客户端都是JavaScript应用程序,您不能进行任何权限检查。因此,在这里,HATEOAS帮助返回菜单操作(链接),这取决于用户在服务器端的角色/权限,而REST客户端不需要担心它。
https://stackoverflow.com/questions/29658686
复制相似问题