我遇到了一个涉及具有多个标识符的RestAPI网址的架构问题。 在一个简单的关系中,我用来写这样的东西:
GET /users/2/tickets/46
检索用户2的票证。
但我想检索一个操作列表,这些操作可以通过两个标识符userId和workstationId来识别。两者都不相关。
对于GET请求,我写这个很奇怪:
GET /users/2/workstations/5/operations
因为没有关系...
使用url参数作为过滤器是最佳做法吗? :
GET /operations?userId=2&workstationId=5
编辑:
对于编辑特定操作时的PUT / PATCH请求,我应该保持相同的模式:
PATCH /operations/123?userId=2&workstationId=5
{
"data":"test"
}
或者我应该将标识符放在json payload中:
PATCH /operations/123
{
"userId":"2",
"workstationId":"5",
"data":"test"
}