如何命名REST API以返回属于特定用户的订单列表?

如何命名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有点奇怪,那么对于这种情况有什么更好的名字?

+0

*我想把它映射到不同的控制器*我很好奇,为什么? –

+0

@TimCastelijns他们查询不同的Cassandra表... – Sayakiss

这是一个我曾经见过的建议,可以在你的情况下适用必须对于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个端点的功能。