Javascript 使用角度加载入口点的基本HATEOAS

Javascript 使用角度加载入口点的基本HATEOAS,javascript,rest,angularjs,hateoas,Javascript,Rest,Angularjs,Hateoas,我正在尝试对HATEOAS风格的RESTAPI进行干净的实现。我的服务器端看起来有点像这样(在伪HTTP和伪JSON中): 返回(具有适当的内容类型和所有内容): 因此,它是应用程序的单一入口点(链接符合)。任何类型的客户机都将获取/api入口点,并知道在哪里可以找到用户或从那里订购资源。典型的做法是登录,然后检索用户列表 对于我的angular应用程序,这意味着获取这些链接是第一件要做的事情。我使用一个定制服务(基于$http)返回一个承诺进行http调用。这个承诺需要在应用程序启动时解决一次

我正在尝试对HATEOAS风格的RESTAPI进行干净的实现。我的服务器端看起来有点像这样(在伪HTTP和伪JSON中):

返回(具有适当的内容类型和所有内容):

因此,它是应用程序的单一入口点(链接符合)。任何类型的客户机都将
获取/api入口点
,并知道在哪里可以找到用户或从那里订购资源。典型的做法是登录,然后检索用户列表

对于我的angular应用程序,这意味着获取这些链接是第一件要做的事情。我使用一个定制服务(基于
$http
)返回一个承诺进行http调用。这个承诺需要在应用程序启动时解决一次。我如何使用angular确保发生这种情况

我已经查看了
resolve
属性(在
$routeProvider
上),但是让每个路由依赖于
/api入口点的解析似乎既乏味又愚蠢

我也检查过了,但它也不能解决承诺

我如何解决这个问题?有没有办法或者我需要一个不同的方法/框架

这个承诺需要在应用程序启动时解决一次

也许我不太明白,但你就不能这样做吗

在应用程序第一页的某些控制器中:

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

在我们的项目中,我们构建了一个指令而不是一个服务。您传入一个uri,该指令将公开数据、链接等。。。在作用域上,以便您可以在控制器或html中使用它…

以便您的自定义服务在整个应用程序中替换
$http
?我觉得这有点难以理解。
{
  "_links": {
    "login": "/login",
    "users": "/someapi-part/users",
    "orders": "/other-part/orders"
  }
}
yourHttpService.getLinks('http://base-uri').then(links) {
   // do something with the links ...
}