java 为多个参数命名端点的正确方法是什么?

7gcisfzg  于 2023-01-01  发布在  Java
关注(0)|答案(1)|浏览(117)

我有一些列表作为对frontend的响应返回。
例如,我有一个客户列表。我有3个前端答案的变体。当我完整地给予整个客户列表时。当我需要给出一个特定的客户时。当我需要按客户的状态给出客户时。例如,状态:“不付款人”。
目前我有以下REST结构。

/customers

/customers/{id}

/customers?status="nonPayers"

我最感兴趣的是最后两个端点。在一个通过客户状态获取客户的方法中,我使用参数而不是pathVariable,这对不对?是在REST方面吗?
这样做不是更好吗:

/customers

/customers/byId/{id}

/customers/byStatus/{status}
kuuvgm7e

kuuvgm7e1#

为多个参数命名端点的正确方法是什么?
REST并不关心你的资源标识符使用什么拼写规则,任何符合RFC 3986产生式规则的拼写都是 * fine *。

/customers/{id}
/customers?status="nonPayers"
/customers/byId/{id}
/customers/byStatus/{status}

这些拼写都很好。
在以下情况下,您可能会发现路径段更方便:您希望使用相对引用链接到同一标识符层次结构中的邻近标识符。
在以下情况下,您可能会发现查询参数更方便:您希望使用HTML表单来捕获将要复制到URI中的值。
资源的正确"名称"很像代码中函数的正确"名称"--任何符合本地惯例的拼写都可以。

相关问题