Api 是否可以创建一个SpringMVC RESTful端点,其中包含几个未命名的属性作为路径参数

Api 是否可以创建一个SpringMVC RESTful端点,其中包含几个未命名的属性作为路径参数,api,rest,spring-mvc,Api,Rest,Spring Mvc,根据我所做的RESTfulAPI最佳实践研究,URI应该唯一地标识资源或资源列表。因此,我想创建使用任意路径键/值对的端点,例如: GET/customers/status/registered 而不是像这样: GET/customers?status=已注册 类似地,我想设置无限数量的标识分区,如下所示: GET/customers/{attribute1Name}/{attribute1Value}/{attribute2Name}/{attribute2Value 使用SpringMVC是

根据我所做的RESTfulAPI最佳实践研究,URI应该唯一地标识资源或资源列表。因此,我想创建使用任意路径键/值对的端点,例如:

GET/customers/status/registered

而不是像这样:

GET/customers?status=已注册

类似地,我想设置无限数量的标识分区,如下所示:

GET/customers/{attribute1Name}/{attribute1Value}/{attribute2Name}/{attribute2Value


使用SpringMVC是否可以创建一个具有任意路径键/值对集且数量不限的RequestMapping?

我不能确定,但如果可以,我会感到惊讶。我也不认为您试图实现的是一个好主意-我想您可能误解了“一个URI应该唯一地标识一个资源或资源列表”。谢谢@Eric Stein的评论。你能详细说明是什么让它“不是一个好主意”吗"?假设资源是employees。Attribute1是region,attribute2是status。所以URI应该是。这个URI不是唯一标识资源列表的吗?它是层次结构中的一个子集组。您正在创建一个庞大的集合层次结构,而不是单个集合端点。这是非常不标准和不直观的。为什么要避免使用查询参数?它们的存在是为了筛选集合,这正是您要做的。Hmmm。应该如何决定何时使用路径参数而不是查询参数?似乎查询参数只应用于支持系统设置(如分页、排序、分组等)的参数。Rest的目标是创建可预测的端点。创建的规则不是说路径参数用于数据标识,查询参数用于系统功能吗?Rest与可预测的端点无关。Rest是一种体系结构样式。Rest不关心端点的外观。我可以建议您多读一点吗,p从什么开始?