我的系统具有三个资源:User
,Cart
和Address
。关系如下:
User
1对* Adress
User
一对一Cart
现在,端点对于一对多或多对多映射非常简单。例如,要检索Address
:
获取 /api/users/{userId}/addresses/{addressId}
-单个地址
获取 /api/users/{userId}/addresses/
-所有地址
Cart
怎么样。看起来应该是:
获取/api/users/{userId}/carts/{cartId}
-为用户检索一个
有两个问题:
/carts
。如果我知道购物车是一对一的,是否还需要查询集合端点/api/users/{userId}/carts
?在这种情况下,我得到一个JSON列表/数组,然后选择第一项。 但这并不自然。
是否有任何REST约定为一对一映射的资源定义了直观的端点?
我可以做类似的事情:/api/users/{userId}/cart
。请注意,/cart
中没有复数形式。