宁静的资源和关系数据库是不兼容的



说我有一个带有100个以上表的关系数据库。每个桌子建模某种实体(人,地址,车辆,狗等)。假设我也有一个宁静的API和一群想要将数据发布到此数据库中的人。很多时候,此数据作为XML软件包或Web表单或该性质的内容发布。有时我们需要发布到数据库的所有表中,有时甚至有时,有时是一个。

现在要求我们的客户通过

的休息方式将多资源数据集成100 表的持久性
POST /person
POST /email
POST /vehicle
POST /insurance

很疯狂!因此,我们可以拥有一个资源

POST /auto-record
{ post body of key values for all the tables needed to make an 'auto-record' }

它将连接到某种知道将插入数据库的许多表格插入所需的业务逻辑。好的,太好了。但是,现在我在考虑它,这个设计是否符合开放/封闭的原则?如果我们需要更新/添加/删除到"自动记录"的内容,那么我们会搞砸客户。

如何恢复API处理资源分组?还是根本不是?有其他替代方案吗?

您可以实现更多版本的RESTFUL API资源/auto-record。现在将您的资源URI修改为/v1/auto-record。当将有一个功能更改请求时,您只需向客户提供新的资源/v2/auto-record即可。旧功能将保留在/v1/auto-record,新用户将在v2/auto-record处具有其所需功能。

最新更新