例如,我们有一个包含此类资源的应用程序:人,电影,卡通,电视节目
明星,导演......是人。每个人都可以在电影,卡通或电视节目中扮演一些角色。
是否有在REST API中实现此类关系的最佳实践?
为人群设置多个端点是否合适?
/movies/{id}/persons
/cartoons/{id}/persons
/persons/{id}
答案 0 :(得分:1)
你可能不想拥有 /电影或/卡通 你可以拥有/ motion-pictures之类的东西(可能不是正确的名字,但你明白了),并且作为资源的属性有电影或动画的类型然后:
/ motion-pictures / {id} / actors
每个演员都有角色作为属性。 同样在你的数据库中,你可以拥有多对多的关系,但是从演员到动画的关系表现为演员表现中的仇恨。
hateaos之类的东西链接到他们演奏的电影:
/motion-pictures/123
/motion-pictures/567