如何命名REST API以返回属于特定用户的订单列表?
问题描述:
我们有一个REST API如何命名REST API以返回属于特定用户的订单列表?
/accounts/{user_id}/shop/orders
返回所有的订单属于用户。
现在我添加新的API,通过特定的订单号返回订单。
/accounts/{user_id}/shop/orders/order?orders=a,b,c,d
,因为我想将它映射到不同的控制器我不能说出新的API,以原/accounts/{user_id}/shop/orders
。
但是我认为/accounts/{user_id}/shop/orders/order?orders=a,b,c,d
有点奇怪,那么对于这种情况有什么更好的名字?
答
这是一个我曾经见过的建议,可以在你的情况下适用必须对于2个控制器有不同的端点。
要返回的所有订单属于用户:
/accounts/{user_id}/shop/orders/all
或
/accounts/{user_id}/shop/orders/list
(我喜欢的第一个更好,因为第二一个并不意味着列表完成)
要通过特定的顺序号返回命令:
/accounts/{user_id}/shop/orders/filtered?number=a,b,c,d
这样你可以通过/accounts/{user_id}/shop/orders
这两个路由他们都很好,因为他们都属于那里,但仍然能够清楚地区分2个端点的功能。
*我想把它映射到不同的控制器*我很好奇,为什么? –
@TimCastelijns他们查询不同的Cassandra表... – Sayakiss