REST - 模式命名资源

时间:2014-12-09 15:19:53

标签: rest

我正在开发几种资源REST,我想知道在遇到以下情况时命名它的最佳做法是什么:

  • 为客户端插入新配置(1'配置'= 1'文件');
  • 返回特定客户端的文件列表(全部返回)
  • 从特定客户端返回特定文件(全部返回)

我创建了这些URI:

  • POST / api / file / dbconfig / client / {clientId}
  • GET / api / file / client /:clientId
  • GET / api / file /:fileId / client /:clientId

对我来说,这不清晰,但我不知道我是否应该将其改为:

  • POST / api / configuration / {clientId} /
  • GET / api / configuration / {clientId} / files
  • GET / api / configuration / {clientId} / {fileId}

我不相信我需要一个名为文件的资源,因为“文件”是配置的一部分。

您对我的资源命名有何看法?

1 个答案:

答案 0 :(得分:2)

我提议这个计划。

POST /api/clients/{clientId}/configurations

为客户端创建新配置。

GET /api/clients/{clientId}/configurations

返回客户端的配置列表。

GET /api/clients/{clientId}/configurations/{configurationId}

返回客户端的配置。

一些注意事项:

  • 我以复数形式命名收集资源:clientsconfigurations。要GET这样的资源意味着获取所有资源的列表。
  • 我以这样的方式订购URL路径部分,外部资源(用户)排在第一位,内部资源(配置)排在最后:/api/clients/{clientId}/configurations/{configurationId}