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

为具有多个标识符的资源设计REST URL

郭远
2023-03-14

如果通过传递profileId或profileName(两者都是唯一的),可以对配置文件资源执行PUT和DELETE操作,那么形成URL的正确方法是什么?

我想在发送filileId时支持对配置文件资源的更新和删除操作,并在发送filileName时支持对配置文件资源的更新和删除操作。

发送profileId时,用于执行PUT操作的URL如下所示:

/api/profiles/{profileId}

发送profileName时,URL是什么样子的?profileName是否应作为查询参数发送?

/api/profiles?profileName=uniqueProfileName

或者有没有更好的方法来处理这种情况?

共有1个答案

璩华辉
2023-03-14

您可以使用filileId作为配置文件资源的主要标识符:

/api/profiles/{profileId}

通过使用查询参数,您可以支持将{profileName}作为辅助标识符:

/api/profiles?name={profileName}

或矩阵参数:

/api/profiles;name={profileName}
 类似资料:
  • 我有一个包含 Serie 对象的集合的 Chart 对象,这些 Serie 对象包含数据对象的集合。我希望根据它们在各自集合中的位置来标识 REST API 来识别 Serie 和 Data 对象,而不是要求 REST API 通过代理主键来识别 Serie 和 Data 对象。 数据库模式如下。最初我考虑使serie的和data的复合主键,但是,Doctrine只能对一个级别(即Serie)这样

  • 我正在做一个生产线的模拟,它是通过Excel建立的。现在有一个,需要为每台机器自由设置工人班次,总共三个班次。 我的想法是创建三个不同的时间表,表示三个班次中的每一个,然后在ResourcePool中使用If语句设置每个班次的使用。如图所示,在此处输入图像描述 提前致谢

  • 我们是一个电子商务网站,希望创建API给我们的客户提供一个接口,通过这个API发送产品相关信息。我们目前需要3种类型的产品信息: 基本细节:如价格、颜色等 映像:产品映像 评论:该产品的评论 方法1:允许客户端通过单个API发送所有信息。 方法2:为所有子资源创建不同的API。 方法3:使用层次URI为所有子资源创建不同的API。

  • 我在我的spring boot应用程序中出现了这个错误。当我想调用这个存储库时,我遇到了这个错误 这是我的存储库: 这就是我称之为此方法的地方: 如何检查方法返回的结果?我调试了我的代码,但在断点它只是返回这个错误。 谢谢你的帮助。

  • 我在使用spring数据从1对1关系btn表检索数据时遇到了一个问题。我已经回顾了平台上的几个解决方案,但奇怪的是,在问题首次出现之前,我已经实现了所有建议的解决方案。请帮助我找到我所缺少的东西,或是使对他人有用的解决方案对我无效的任何东西。 以下是这两个实体之间的关系 错误消息: 2021-12-23 15:02:42.116错误11144---[nio-8089-exec-5]o.a.c.c.

  • 我有一个实体:与实体:之间的关系如下: QueryParameter实体: HtmlElement实体: 组件实体: 类型实体: 基本上,这里的关系意味着一个html元素有一个与其相关的组件。 现在,当我想要找到如下所示的所有组件时: 它给出了以下错误: 如果我运行生成的查询,它将返回3行,但这没有任何意义,因为Component有不同的html组件(input、select等),并且HtmlEl