如何(是它甚至不切实际的希望),您需要提供链接到应用程序状态使用HATEOAS?

问题描述 投票:0回答:1

我一直在试图愉快地为HATEOAS在第一时间,用的Web App适合真的很好,因为当用户浏览“节点”的树。

每次用户点击一个链接到一个节点上时,服务器返回该节点并为相关的票据数据的服务器的URL数据。

HATEOAS响应正文:

    {"description":"A good node!",
     "category":"IDEAL",
     "placement":"Q16","
     "_links":{"self":{"href":"http://localhost:8081/position?id=393"}},
     "_embedded":{
       "parent":
       {"placement":"root","category":"IDEAL","_links":{"self":{"href":"http://localhost:8081/position?id=384"}}},
      "next_nodes":[
           {"placement":"Q13","category":"GOOD","_links":{"self":{"href":"http://localhost:8081/position?id=362"}}}
           {"placement":"J10","category":"BAD","_links":{"self":{"href":"http://localhost:8081/position?id=365"}}}
       ]}}

当单页的Web应用程序的客户端显示该节点和它的到其他节点关系的数据,用户点击指示遍历到一个新的节点,该网络应用程序的客户端获取供给下一个服务器URL从HATEOAS的数据。

这也提供HATEOAS的承诺 - 状态是在响应身体,是为下一个状态的服务器的URL,所以Web应用程序客户端永远不会需要知道比第一根URL的任何其他。

然而,这散花(显然)时,(显然)的用户说:“我希望有一个URL(客户端URL)此节点,这样我就可以回到它”。

对于使用HATEOAS的Web应用程序客户端,可在“当前节点”的仅表示是“_self”链接。这是不透明的。

那么,你如何嵌入在Web客户端的路由/链接为用户保存并返回吗?

在上面我想象我的应用程序发现自己被迫还与Web客户端,然后将被迫重建该位置上的服务器URL共享位置ID。

这是HATEOAS的预期效果?这似乎在面值几乎完全打破它,但肯定有一些基本的东西我失踪?

rest hateoas
1个回答
1
投票

我已经使用的URL,例如在过去的解决了这个:

https://webapplication.example.org/#http://api.example.org/some/resource
© www.soinside.com 2019 - 2024. All rights reserved.