与RESTful API中的字段的多对多关系

与RESTful API中的字段的多对多关系,rest,entity-relationship,Rest,Entity Relationship,我发布了同样的未回答问题。 假设我有两个实体(团队和玩家)和一个多对多关系(注册),其中有id_Team和id_Player字段,还有其他信息,比如registrationDate GET/teams/{id}/players给我一个特定团队的所有玩家 GET/players/{id}/teams告诉我注册了特定玩家的所有球队 我的第一个问题是,我是否可以创建此资源: GET/teams/{id}/registrations 我的第二个问题是,如果我想得到所有的注册怎么办?我可以通过此URI访问

我发布了同样的未回答问题。 假设我有两个实体(团队和玩家)和一个多对多关系(注册),其中有id_Team和id_Player字段,还有其他信息,比如registrationDate

GET/teams/{id}/players
给我一个特定团队的所有玩家

GET/players/{id}/teams
告诉我注册了特定玩家的所有球队

我的第一个问题是,我是否可以创建此资源:
GET/teams/{id}/registrations

我的第二个问题是,如果我想得到所有的注册怎么办?我可以通过此URI访问它们吗:
获取/注册

我认为您应该使用

/registrations/
/registrations/player:{pid}/
/registrations/team:{tid}/
/registrations/{rid}
因此,您应该添加一个关系资源并使用扁平URI,而不是创建一个嵌套URI,如果您不只是想读取,而是想修改此类资源,那么嵌套URI就不那么一致了

注:


顺便说一句,这类似于关系数据库的关系表,所以我想这个想法对您来说并不新鲜。

这取决于您的应用程序服务器如何将URL映射到Java类以及如何注册其余URL。但说真的,到目前为止你的代码是什么?你的实际问题是什么?我是AngularJS的初学者,我仍然对如何表示多对多关系感到困惑。这是一个一般性的问题,要知道通过自己的URI访问关系是否常见。正如你在问题中没有提到“AngularJS”:谁应该知道?谢谢。如果我的数据库模型没有注册id,您认为使用
/registration/player:{pid}/team:{tid}
/registration/team:{tid}/player:{pid}
是一个好主意吗?@AntoineMartin。您可以使用这种URI。