如何在rest api中对层次关系建模?
假设我想在相册中添加照片,我可以做到这一点。
1
发布www.example.com/照片发布www.example.com/相册发布www.example.com/addPhotoToAlbum?photoId={photoId}&albumId={albumId}
或者我可以这样做
2
发布www.example.com/albumId/{albumId}/photo/,但这样会暴露我的服务器架构。
或
3.
发布www.example.com/album/addPhoto/albumId={albumId}
或
4.
使用Json字符串{"albumId":123,"photoId":43543}发布www.example.com/album/addPhoto/
或
5
发布www.example.com/album/photo?photoId={}&albumId={}
REST Api对CRUD操作很好,但是当谈到如何建立关系时,如果我们遵循面向对象的风格,#2就很好了。如果我们遵循数据库风格,#5就很棒了
如果我们使用风格#2,当我们想要给一张特定的照片添加评论时,我们应该写这篇文章www.example.com/album/{albumId}/photo/{photoId}/comment/还是只发布www.example.com/www.example.com/album/{albumId}/photo/{photoId}/comment//{photoId}/comment/
问:在REST中建立关系的一般做法是什么?
发布于 2011-11-17 08:31:08
这里有一些有用的要点,可以帮助识别情况。
http://redrata.com/restful-uri-design/
就我个人而言,我喜欢它的网址是简短的和书签的能力。
https://stackoverflow.com/questions/8160602
复制相似问题