与 RESTful API 中字段的多对多关系
many-to-many relationships with fields in a RESTful API
我 post 同一个未回答的问题 from a comment。
假设我有 2 个实体(团队和玩家)和一个多对多关系(注册),它们具有 id_team 和 id_player 字段以及其他信息,例如 registrationDate.
GET /teams/{id}/players
给我特定球队的所有球员
GET /players/{id}/teams
给我注册特定球员的所有球队。
我的第一个问题是,我可以创建这个资源吗:
GET /teams/{id}/registrations
?
我的第二个问题是,如果我想获得所有注册怎么办?我可以通过这个 URI 访问它们吗:
GET /registrations
?
我认为你应该使用
/registrations/
/registrations/player:{pid}/
/registrations/team:{tid}/
/registrations/{rid}
所以你应该添加一个关系资源并使用扁平化 URI,而不是创建一个嵌套 URI,如果你不仅要读取,还要修改这种资源,那么嵌套 URI 就不那么一致了。
注:
顺便说一句。这类似于关系数据库的关系表,所以我想这个想法对你来说不会太新。
我 post 同一个未回答的问题 from a comment。 假设我有 2 个实体(团队和玩家)和一个多对多关系(注册),它们具有 id_team 和 id_player 字段以及其他信息,例如 registrationDate.
GET /teams/{id}/players
给我特定球队的所有球员
GET /players/{id}/teams
给我注册特定球员的所有球队。
我的第一个问题是,我可以创建这个资源吗:
GET /teams/{id}/registrations
?
我的第二个问题是,如果我想获得所有注册怎么办?我可以通过这个 URI 访问它们吗:
GET /registrations
?
我认为你应该使用
/registrations/
/registrations/player:{pid}/
/registrations/team:{tid}/
/registrations/{rid}
所以你应该添加一个关系资源并使用扁平化 URI,而不是创建一个嵌套 URI,如果你不仅要读取,还要修改这种资源,那么嵌套 URI 就不那么一致了。
注:
顺便说一句。这类似于关系数据库的关系表,所以我想这个想法对你来说不会太新。