我想从数据库中自动生成Web API。我可以很容易地用SQL查询数据库,但显然这不适用于公共API。我也可以手动编写服务器端代码,但这需要很长时间,因为数据库相当大。另外,手动编写它会是一个非常机械和重复的任务,所以我不明白为什么一个程序不能为我做。如何从数据库“生成”Web API?
例如,假设我在我的数据库中有一个名为“Announcements”的表格。我正在寻找一种方法(给定该数据库表),自动生成服务器端代码,以允许某人创建新通告,并需要正确的字段。手动完成,这看起来像一个名为“create_announcement.php”的PHP文件,它需要数据库中存在的所有字段,例如公告标题,正文和作者。当然,这也可以通过遵循一些设计模型(比如REST)以更清晰的方式完成,但这仅仅是一个例子。
我正在考虑其他的事情是:
- 认证的某种形式。例如,如果用户想要删除公告,他/她应该被要求“登录”来这样做。我不确定这是如何工作的。
- 添加逻辑的一些方法。如果我可以生成一个通过HTTP访问数据库的API(正如我上面所描述的那样),API将不会意识到某些特定性。假设公告资源应在今日之后包含日期必须是。我需要一种方法在代码中表达。
- 如果解决方案可以遵循一些设计模型,以便更容易地从不同的客户端访问,那将是理想的选择。
那么我应该看什么样的工具?人们在面对这个问题时采取的一般方法是什么?
听起来像[Doctrine](http://www.doctrine-project.org/)或[Yii](http://yiiframework.com)。 –
我看过Yii。问题在于它也似乎也想为你做客户端的东西。我希望手动创建一个单独的AJAX应用程序。但我会阅读关于教义。 – Hassan
这些ORM /制图系统中的大多数将会变得沉重。这是主要的投诉之一。 –