我有一个web服务,允许我的用户管理音乐节。每个节日都有一个地点,几个舞台,在每个舞台上有几个艺术家。
所以我有四个实体:节日,地点,舞台和艺术家,可以用树结构来表示。我需要一个简单的渣滓来做这些。
在REST术语中,最明显的实现是有4个URI (/festivals、/locations、/stages和/artists,后面可能是一个/id),它们将被请求使用POST、PUT、GET或DELETE。
但是,为了我的需要,地点,舞台和艺术家没有兴趣,如果他们没有联系到一个节日。那么,为什么我需要为这些实体实现CRUD方法呢?只为节日实体准备的CRUD还不够吗?
缺点:
优点:
从技术上讲,我将使用可爱的组合体node.js + mongodb (这与情况无关,只是mongodb的超级树友好型使我想到了这一点)。
你觉得这种方法怎么样?你认为这个想法还有其他缺点吗?
发布于 2012-06-19 00:34:02
您使用较小API的理由看起来很合理。但是,请确保您也在考虑并发数据访问的复杂性。
将数据打包到单个单元中的数据量越大,更改冲突的可能性就越大。例如,如果有两个用户修改相同的festival
,一个用户更改艺名,另一个用户更改艺术家名称,则可能存在一个竞赛条件,其中一个更新覆盖在另一个更新中所做的更改。显然,即使您有一个更细粒度的API,您也可以具有竞争条件,但是将所有内容合并到一个单元中会放大问题。
https://stackoverflow.com/questions/11091660
复制相似问题