当前位置: 首页 > 知识库问答 >
问题:

REST API中的层次结构

漆雕升
2023-03-14

我有这样的层次结构:

Work Experience (like SomeCompany.com)
└─Roles (like Project Manager)
  └─Projects

因此,用户可以添加他的工作经验。此外,他还可以为特定的项目添加角色。

我想为用户id 1获取项目,但项目之间只有关系

  1. 获取用户
  2. 获得工作经验
  3. 获取角色
  4. 获取项目

因此,如果我有更多不同工作经验的角色,我就必须提出20个请求才能得到我的项目。这不是很有效率吗?我必须加载一些不必要的数据。。。

是否可以只创建endpoint:/项目并按用户ID过滤它?

应该如何在API上管理它?对我来说,作为前端开发人员,它看起来效率很低,尤其是当人们主要使用手机时,所以这样的请求会很快耗尽你的电池。

你们是怎么处理这种关系的?

谢谢你!

共有2个答案

充阳秋
2023-03-14

您的API的实体不应该耦合得太紧。例如,如果您需要获取例如。用户的所有项目,在您的项目表中应该有一个user_id,然后选择例如。/user/

如果项目是独立的和可列出的,那么a/projects将只列出项目(分页等)。

就我个人而言,我倾向于采用RESTful API方法,我发现它非常有用。本页和本教程可能会帮助您了解如何更好地组织RESTful API

子车鸿运
2023-03-14

是什么阻止您获取用户的所有数据并过滤掉需要在屏幕上显示的内容。

如果这对数据大小有挑战,并且这是您需要的特定endpoint,您可以将其设计为:

 类似资料:
  • 我有一个类似Github链接的JSON树 如您所见,此树对每个项使用属性来计算其值。所以我需要计算几个节点或根节点的值。 您可以看到PL6A,PL6B是树的末尾,其类型为。因此,我需要替换到树,这样,由构造的必须替换为。 示例:公式必须替换为(ACVALUE(PL6A)ACVALUE(PL6B))。。。 我该怎么做呢?谢谢你,对不起,英语不好 更新我已尝试此代码: 结果,一些节点运行良好 但如果我

  • 零售商店的正确模式是什么?公司从商店销售产品。 这似乎违反了我对OOP所知的全部知识。通过层次结构向下传递数据的方法--在对象之间复制参数?我错过了什么?

  • 本规范定义了一个用于部署和打包用途的,可存在于开放文件系统、归档文件或一些其他形式中的层次结构。建议 servlet 容器支持这种结构作为运行时表示形式,但不是必须的.

  • FreeBSD 的完整源代码都可以从我们公开的代码库中获取。 源代码通常会安装到 /usr/src 目录中, 它包括了下面这些目录: 目录 说明 bin/ 在 /bin 中的文件的源代码 cddl/ 采用 Common Development and Distribution License 的工具 contrib/ 由其他开发组织维护的源代码 crypto/ 与密码学有关的源代码 etc/ 在

  • 我们正在创建一个REST API,目前我们有两种方法来定义资源。 基本上,我们有、和,其中一个有n个和一个有n个。 分层方法 该层次结构在URI中可见 要搜索所有图像,我们需要一个搜索资源 平进路 我们还需要考虑移动和修改。

  • 我在注释中创建一些元数据结构时遇到了问题。我们使用注释来定义Hibernate实体属性的特殊属性,但它可能在任何地方都可以使用。我想创建表示这些结构的条件: 问题是我需要使用此注释定义一些“树”结构。这是我想达到的一些设计: 我想根据这个例子使用的所有这些注释: 我知道我在上面的注释定义中定义的那种继承是不可能的。但是,我该如何考虑我的注释和,或是在一个“家庭”中?