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

REST URI设计:具有复数名称的资源

微生旻
2023-03-14
{
  "customerId" : "string",
  "accounts" : [{
    "accountId" : "string",
     ...
  }],
  "profiles" : [{
    "profileId" : "string",
     ...
  }]
}

我正在构建一个REST api,以提供对此资源和子资源的访问,如帐户配置文件

这是我提出的URI:

  1. /customers/{id}/relationship-返回上述资源
  2. /customers/{id}/relationships/accounts-返回accounts子资源
  3. /customers/{id}/relationships/profiles-返回profiles子资源

共有1个答案

甄伟兆
2023-03-14

如果'relationships'是一个单独的对象而不是一个集合,您可以使用几种方法。

  1. 完全删除它,以便您拥有/customers/{id}/帐户和/customers/{id}/配置文件
  2. 将其重命名为其他内容/customers/{id}/related/accounts
  3. 保持原样...这仍然是因为“accounts”和“profiles”成为Relationship集合下面的id(/customers/{id}/relationships/{id(accountsprofiles)}

遵循标准总是好的。但通常你会花太长时间担心一些小问题,这些小问题最终无论你走哪条路,都不会产生很大的影响。

 类似资料:
  • 问题内容: 我想通过其名称而不是其int id访问诸如String或Drawable之类的资源。 我将使用哪种方法? 问题答案: 它将类似于: 确保没有导入名称空间,因为它可能会使迷惑(如果使用的是名称空间)。 如果这不起作用,则可以始终使用上下文的方法… 凡被作为,或任何其他子类。 更新: 如果是你想要的名称,则Resources该类(由返回)具有一个方法和一个? 更新2: 本类有这个方法: 返

  • 背景:我们正在开发一个与多个第三方Web服务通信的应用程序。遗憾的是,其中一个使用糟糕的命名约定定义了WSDL文件。响应元素及其使用的complexType经常重复使用相同的名称。下面截取的代码显示了一个这样的实例: 我们使用Maven cxf codigen插件(jaxb/jax-ws)来编译Java类。为了避免名称冲突,我们以前使用过选项-AutoName分辨率。然而,我们发现这会导致意想不到

  • 问题内容: 想知道是否有人在使用新功能通过PHP 5.3对类进行命名空间时是否遇到了此问题。 我正在使用单独的类来生成动态类调用,以在应用程序中定义用户类型。基本上,类定义器采用类型的整数表示形式并解释它们,返回一个包含要用作该用户模型的类名的字符串。 我在全局范围内定义了具有该名称的用户类型的对象模型,但是在Editor名称空间中,该用户的编辑器具有另一个名称相同的对象。由于某些原因,PHP不允

  • 问题内容: 我正在尝试使用BCP将存储过程导出到.csv文件。它确实为我提供了.CSV格式的输出文件,但它不显示列名。下面是脚本。请看看,让我知道我在想什么 问题答案: 经过大量的跟踪和错误之后,下面是有关如何添加列的答案 首先创建一个header.txt文件(在头文件中添加所有头文件),例如,如果头文件需要名字,姓氏等 第二,将以下查询粘贴到您的存储过程中

  • 问题内容: 我正在尝试将一个旧项目迁移到Retrofit库,并且该项目具有相当棘手的API。所以我有一个这样的查询模板: 我必须在以下模板的此处添加一些参数: 例如: 这就是API的工作方式,我无法更改。我知道我们可以将列表作为参数传递,如下所示: 但是,如何动态设置参数名称呢? 问题答案: 感谢@ILLIA DEREVIANKO(https://github.com/square/retrofi

  • 如果通过传递profileId或profileName(两者都是唯一的),可以对配置文件资源执行PUT和DELETE操作,那么形成URL的正确方法是什么? 我想在发送时支持对配置文件资源的更新和删除操作,并在发送时支持对配置文件资源的更新和删除操作。 发送profileId时,用于执行PUT操作的URL如下所示: 发送profileName时,URL是什么样子的?profileName是否应作为查