REST API设计 - 如何克服前端客户端需求与REST原则之间的阻抗不匹配?

时间:2015-12-13 18:52:08

标签: rest web-applications api-design

鉴于以下情况:

  1. RESTful API
  2. RESTful API具有可授予整个实体集合和/或特定实体的权限/授权,即基于复杂角色的权限规则。
  3. API(根据RESTful原则)HATEOS驱动(资源网址通过API显示。一旦您登录并获取“用户”资源,您就可以通过响应中给出的链接来驱动整个API。
  4. 需要使用此API的前端客户端(Web应用程序)
  5. 想象一下,现在前端想要建立一个菜单。该菜单基于对特定实体和/或实体集合的访问。例如,如果用户可以访问许多不同实体和/或集合中的一个,则将显示“管理”菜单。

    如何构建菜单?我需要知道用户拥有的权限才能构建菜单。我不知道用户拥有的所有权限,因为它需要遍历REST API的URL以查看用户拥有权限的所有对象。

    这似乎是一件难以克服的事情,但也许我错过了一些明显的技巧。如何克服阻抗不匹配?

1 个答案:

答案 0 :(得分:0)

您的REST API可以公开资源(或者它可以是用户成功登录后返回的用户资源的一部分),其中包含用户可以访问的资源以及应该可用于哪些菜单项的信息。这个用户。