嵌套的REST网址和父ID,哪个设计更好?
好的,我们有两个资源:Album和Song。这是API: GET,POST /albums GET,POST /albums/:albumId GET,POST /albums/:albumId/songs GET,POST /albums/:albumId/songs/:songId 我们知道我们讨厌某首歌,Susy例如。我们应该在哪里search采取行动? 另一个问题。好吧,现在更真实了。我们打开专辑1并加载所有歌曲。我们创建了JS对象,每个对象都保存歌曲数据,并具有如下几种方法:remove,update。 歌曲对象具有ID,名称和内容,但是不知道它属于哪个父对象,因为我们通过查询来检索歌曲列表,因此每个父对象都返回父ID并不是很好。我错了吗? 因此,我看到的解决方案很少,但我不确定。 将父ID设为可选-作为get-parameter。我目前使用的是这种方法,但我觉得它很丑。 List,Create /songs?album=albumId Update,Delete /songs/:songId Get /songs/?name=susy # also, solution for first question 混合动力车 现在方便了,因为我们需要唱片集ID来执行OPTIONS查询以获取元数据。 List,Create /album/:albumId/songs Update,Delete /songs/:songId POST /songs/search # also, solution for first question 返回每个资源实例的完整URL。API是相同的,但是我们会得到如下歌曲: id: 5 name: 'Elegy' url: /albums/2/songs/5 我听说这种方法称为HATEOAS。 所以...提供父母身分证 id: …