我的数据模式看起来像
User
有很多Transaction
。User
和Transaction
都是数据库中不同的表
我有REST
个端点作为
用户端点
GET /users/uuid # to get information about specific user
PUT /users/uuid # update information of a specific user
事务端点
GET /transactions/uuid # get a specific transaction
GET /transactions/user_uuid # get all transactions of a specific user
GET /transactions/user_uuid/yyyy # get all transactions of a specific user in year yyyy
GET /transactions/user_uuid/yyyy/mm # get all transactions of a specific user in year yyyy, month mm
GET /transactions/user_uuid/yyyy/mm/dd # get all transactions of a specific user in year yyyy, month mm and day dd
transactions
总是与User
资源相连,那么为它们设置不同的端点有意义吗?你知道吗GET /users/uuid/transactions # all transactions for a user GET /users/uuid/transactions/yyyy # all transactions for a user for year yyyy GET /users/uuid/transactions/yyyy/mm # all transactions for a user for year yyyy, month mm GET /users/uuid/transactions/yyyy/mm/dd # all transactions for a user for year yyyy, month mm and day dd
我现在不知道哪一个更好。你知道吗
谢谢
如果您总是在用户上下文中访问
transactions
,那么您的第二种方法对我来说是有意义的,因为正如您所说,用户有许多transactions
,使用第一种方法,url设计可能会非常混乱,因为日期部分引用的是transactions
,而不是用户资源。另一方面,如果您想读取所有用户的所有transactions
,那么有两个transactions
端点是有意义的相关问题 更多 >
编程相关推荐