(注意:我假设一个 REST 服务使用 URI 来识别资源,我知道这并不是 REST 的严格限制)
根据我对 HATEOAS 的理解,客户端不应该对服务提供的 URI 结构进行任何假设,除了初始入口点(而应该只使用服务器以结构化方式提供给它的 URI)。这是否意味着客户端只能使用最新请求提供给它的 URI,或者客户端可以跟踪从同一会话的早期请求中收到的 URI?如果是前者,后者会违反哪个 REST 约束?
跟踪 URI 的两个示例:
- 在照片查看应用程序中,我遍历照片列表,将一些照片的 URI 保存到列表中。然后,我导航到“马赛克”功能并将所有照片从保存的 URI 加载到马赛克中。
- 我浏览产品列表并将一些产品添加到我的客户端购物车中。完成后,我在 Orders 资源中创建一个新元素,其中产品按其 URI 指定的顺序排列。