我们正在寻找关于在由HATEOAS REST API支持的Web应用程序中处理URL(以及与每个URL相关的状态)的一些建议,更具体地说是
但是,首先让我提供更多背景信息:
我们正在使用超媒体约束的REST层之上构建一个Angular Web应用程序.(注意:我更喜欢在HATEOAS上使用术语'超媒体(约束)').
根据超媒体约束的规定,REST API会在任何时间点提供应用程序中的可用操作和链接.因此,Web应用程序不应包含REST API的任何硬编码URL,除了"root"(假设概念确实存在于REST API中).
另一方面,Web应用程序中的每个页面都需要是可收藏的.因此,我们无法创建一个黑盒应用程序(使用单个URL并在SPA中处理所有状态更改而不更改URL).这意味着Web应用程序还具有其URL空间,该空间需要以某种方式映射到REST API URL空间.这已经与超媒体理念发生冲突.
在Angular应用程序中,我们使用UI路由器来处理应用程序状态.以下是我们如何运作:
到目前为止这么好(或不是真的),因为这种方法有一些缺点:
因此,我们希望听到一些关于我们如何改进处理两个URL空间的方法的建议.是否有更好的方法使REST API指示Web应用程序的(可用)行为,并且仍然在Web应用程序中具有可收藏的URL?因为现在我们有某种混合方法,感觉不完全正确.
提前致谢.
问候,
吕克