我可以想到几种方法。首先,我可能会让每个实体包含另一个实体的列表,因此玩家对象将有一个属于它的团队列表,而每个团队对象将有一个属于它的玩家列表。因此,要将玩家添加到团队中,您只需将该玩家的表示法POST到一个端点,例如POST
/player
或POST /team
,并将适当的对象作为请求的有效负载。看起来这是最符合"RESTful" 的方式,但感觉有点奇怪。/api/team/0:
{
name: 'Boston Celtics',
logo: '/img/Celtics.png',
players: [
'/api/player/20',
'/api/player/5',
'/api/player/34'
]
}
/api/player/20:
{
pk: 20,
name: 'Ray Allen',
birth: '1975-07-20T02:00:00Z',
team: '/api/team/0'
}
另一种我能想到做此事的方法是将关系作为资源单独展示。因此,如果要查看给定团队上所有球员的列表,则可以执行 GET
/playerteam/team/{id}
或类似的操作,并返回PlayerTeam实体的列表。要向团队添加球员,请 POST /playerteam
并将正确构建的PlayerTeam实体作为有效负载。/api/team/0:
{
name: 'Boston Celtics',
logo: '/img/Celtics.png'
}
/api/player/20:
{
pk: 20,
name: 'Ray Allen',
birth: '1975-07-20T02:00:00Z',
team: '/api/team/0'
}
/api/player/team/0/:
[
'/api/player/20',
'/api/player/5',
'/api/player/34'
]
这方面的最佳实践是什么?
aruuuuu
的问题吗?我也有同样的疑问。 - Suraj Jain