javascript - 使用 Angular 的基本 HATEOAS - 加载入口点

标签 javascript rest angularjs hateoas

我正在尝试干净地实现 HATEOAS 风格的 REST-api。我的服务器端看起来有点像这样(伪 HTTP 和伪 JSON):

GET /api-entry-point

返回(具有正确的内容类型和所有爵士乐):

{
  "_links": {
    "login": "/login",
    "users": "/someapi-part/users",
    "orders": "/other-part/orders"
  }
}

因此,它是应用程序的单一入口点(_linksHAL 一致)。任何类型的客户端都会 GET/api-entry-point 并知道在哪里可以找到用户或从那里订购资源。典型的情况是登录,然后检索用户列表。

对于我的 Angular 应用程序,这意味着获取这些链接是首先要做的事情。我使用一个自定义服务(基于 $http),它返回进行 HTTP 调用的 promise 。这个 promise 需要在应用程序启动时解决一次。我如何确保使用 Angular 发生这种情况?

我查看了 resolve 属性(在 $routeProvider 上),但让每条路由都依赖于 /的解析似乎乏味且愚蠢api 入口点.

我还检查过module.run - 但它也没有解决 promise 。

如何解决这个问题?有办法还是我需要不同的方法/框架?

最佳答案

This promise needs to resolve, once, at the application start.

也许我不太明白,但你不能执行以下操作吗?

在应用程序首页上的某些 Controller 中:

yourHttpService.getLinks('http://base-uri').then(links) {
   // do something with the links ...
}

在我们的项目中,我们构建了指令而不是服务。您传入一个 uri,指令在范围内公开数据、链接等...,以便您可以在 Controller 或 html 中使用它...

关于javascript - 使用 Angular 的基本 HATEOAS - 加载入口点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17793496/

相关文章:

rest - 我通过 AtTask REST API 登录可以持续多长时间?

javascript - Angular中加载dom后的回调函数

javascript - 当我点击谷歌地图中的箭头图标时谷歌地图 [$parse :syntax] error?

javascript - 动态绑定(bind)事件处理程序的最有效方法

javascript - jQuery geocomplete street_address 不工作

javascript - 主干 + RESTful API

javascript - 防止 Angular 每秒绑定(bind)

javascript - JQuery 自定义图像从复选框到单选

javascript - 如何通过js小写所有字符和大写第一个字符?

json - 如何在 grails 3.1.10 restful 服务中从 request.JSON 中清理 html/javascript