嵌套资源的REST URL

时间:2018-06-26 09:14:55

标签: rest

哪种是创建REST路径的正确方法? 假设我有REST资源,例如

base_url/api/projects/{projId}/sprints/{sprintId}/.....etc

我在资源网址中有5个以上的路径参数。拥有如此多的路径参数是否合适,还是我们不得不将其切成不同的资源,例如

base_url/api/projects/{projId}
base_url/api/sprints/{sprintId}
...etc

这里的条件是,没有项目等就无法存在sprint。如果我们需要将资源削减到不同的路径,是否有关于可以削减资源的标准?

1 个答案:

答案 0 :(得分:2)

REST不在乎URI设计。 这是一个误解。

URI的可读性是理想的,但在REST体系结构样式中不是必需的。


RFC 3986中所定义,URI语法是按层次结构组织的,列出的组件按从左到右的重要性降序排列,并由/隔开。如果没有项目就不能存在 sprint ,则可以使用以下内容来表示这样的层次结构

/api/projects/{project-id}/sprints/{sprint-id}

但是,如果URI太长并且您有很多参数需要传递,则分割它不会有问题:

/api/projects/{project-id}
/api/sprints/{sprint-id}