我正在开发一个实验性网站(可通过网络浏览器访问),该网站将充当 Restful 界面(子系统)的前端。该网站将作为用户和 RESTful 接口(interface)之间的接口(interface),因为它将向几乎所有数据库操作的 RESTful 接口(interface)发出 http 请求。身份验证可能会使用 openid 完成,而数据库操作的授权将通过 oAuth 完成。
只是出于好奇,这是一个可行的解决方案还是我应该开发两个并行访问数据库的系统(即网站有自己的数据访问逻辑,而restful接口(interface)有另一个数据访问逻辑)?如果我坚持这样做有什么优点/缺点(这只是一个实验项目,让我学习 OpenID 和 oAuth 在现实生活中如何工作),此外还会产生更多的数据库查询和 http 请求每笔交易?
最佳答案
你的概念听起来很可行。我想说你会从这种方法中获得一些相当不错的胜利。对于初学者,您将获得大量代码重用,因为您可以将其他前端置于 RESTful 服务之上。此外,您将能够相对轻松地对该架构进行单元测试。最后,您将能够让第 3 方开发人员访问您使用的相同 API(可能会受到一些限制),这在吸引客户和开发人员到您的平台方面将是一个巨大的胜利。
不利的一面是,根据您构建后端的方式,您可能会遇到标准的粒度问题。粒度太大,您最终会为非常少的数据建立大量连接。太少了,在某些情况下你会得到比你需要的更多的数据。至于安全性,您应该能够锁定后端,以便只能在某些条件下发出请求:请求包含授权 token 、api key 等。
关于rest - Web UI 到一个 Restful 界面,好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1727493/