我想从数据库中自动生成一个 Web API。我可以轻松地使用 SQL 查询数据库,但显然这不适用于公共 API。我也可以手动编写服务器端代码,但这需要很长时间,因为数据库相当大。此外,手动编写将是一项非常机械且重复的任务,所以我不明白为什么程序不能为我完成。
例如,假设我的数据库中有一个名为“Announcements”的表。我正在寻找一种方法(给定该数据库表),自动生成服务器端代码,允许某人创建新的公告,需要正确的字段。手动完成,这可能看起来像一个名为“create_announcement.php”的 PHP 文件,它需要数据库中存在的所有字段,如公告标题、正文和作者。当然,这也可以通过遵循一些设计模型(如 REST)以更简洁的方式完成,但这只是一个示例。
我正在考虑的其他事情是:
- 某种形式的身份验证。例如,如果用户想删除一个公告,他/她应该被要求“登录”才能这样做。我不确定这在这里是如何工作的。
- 某种添加逻辑的方法。如果我可以生成一个 API 来通过 HTTP 访问数据库(正如我在上面试图描述的那样),那么 API 将不知道某些特定性。假设公告资源应该包含一个必须在今天之后的日期。我需要一种在代码中表达这一点的方法。
- 如果解决方案可以遵循某种设计模型以使其更容易从不同的客户端访问,那将是理想的。
那么我应该研究什么样的工具呢?面对这个问题,人们采取的一般方法是什么?