是否可以通过(a)javascript(框架 - 例如angularjs)消费hateoas类型的restful webservice?我想客户端需要实现相当多的逻辑才能到达实际端点。任何反馈都将非常感激。谢谢!
答案 0 :(得分:2)
至少部分问题是您的API需要返回支持结构化链接的媒体类型(通常的“REST”API默认为application/json
而application/xml
不支持)。要获得此支持,请查看HAL或JSONAPI项目。
使用结构化链接定义,它变得更容易使用 - HAL有几个库可以使用它,包括一个javascript库:
https://github.com/mikekelly/backbone.hal
对于有趣的客户,请查看HAL Talk demo。
答案 1 :(得分:1)
是的,这是可能的。 Javascript只是另一个用户代理。
是的,有工作要做。不,我不知道有任何框架可以帮到你。我已经编写了用于在桌面上支持超媒体驱动应用程序的工具,我认为生成基础架构以支持基于超媒体的应用程序并不是一项重要的工作。
挑战不是关于工具,而是关于这是一个非常不同的构建应用程序的事实。需要一些时间来适应。
在相关的说明中,浏览器/ JS空间中正在进行一些工作,这将使客户端上的超媒体驱动的应用程序变得更加容易。见NavigatingController。 目前,JS用户代理只能管理javascript链接。使用NavigatingController,也可以截取HTML链接,使JS驱动的应用程序在浏览器中更加无缝。