假设我在我的申请中有不同的模型:地点,客人,预订,购买,桌子。什么是“正确”的方式来嵌套这些关系?比如..。
..。以此类推。
我应该(用标准的,RESTful CRUD).
/api/venues/{venue_id}/reservations
/api/venues/{venue_id}/reservations/{reservation_id}/purchases
/api/venues/{venue_id}/reservations/{reservation_id}/guests
/api/venues/{venue_id}/tables还是预订、购买和客人都应该在一个单独的资源中?比如,
/api/reservations
/api/tables并接受参数,如guest_id、item_id (用于购买)、table_id (用于表)等。
如果我想查看关系中的单个资源,我应该做什么?
我意识到这没有“硬性规定”,但从长远来看,最好的做法是什么呢?为什么?
发布于 2014-02-18 22:13:10
我认为应该只有一种方法从API中获取数据。所以你选择一种或另一种方法。
让我们考虑一下guests
如果你愿意
/api/venues/{venue_id}/reservations/{reservation_id}/guests每次我们需要预订客人时,都需要venue_id。更重要的是,当我们需要一个特定的客人
/api/venues/{venue_id}/reservations/{reservation_id}/guests/{guest_id}venue_id和reservation_id都是必需的。
这绝对有必要吗?好吧,为了授权,也许是的。但是
/api/guests/{guest_id}是更“安全”和灵活的方法,它可以要求或不需要venue_id或reservation_id在特定情况下。
https://stackoverflow.com/questions/21864878
复制相似问题