使用REST公开MySQL数据库/表

时间:2011-01-23 00:10:10

标签: mysql rest

使用REST接口公开MySQL数据库最简单的方法是什么?

我可以在互联网上找到的唯一指导就是使用NetBeans。我不是NetBeans的忠实粉丝......

我想检索它并能够使用此REST接口更新数据库上的数据。

仅供参考,这是我目前正在处理的iPhone应用程序。

15 个答案:

答案 0 :(得分:6)

另一个选择是restSQL,一个超轻量级的持久性框架。 http://restsql.org。它支持MySQL和PostgreSQL,并在标准的Java EE容器中运行,例如Apache Tomcat。

restSQL是一个非常规的数据访问层。 restSQL不是数据库的面向对象视图。它呈现关系数据库表的平面或分层“视图”。这些视图可通过简单的基于REST的HTTP或Java API进行查询和更新。 HTTP接口基于REST原则,它使用HTTP的内置功能,而不是从它们中抽象出来。

答案 1 :(得分:6)

MySQL 5.7.4及更高版本使用HTTP插件,它提供HTTP REST API。

SQL: SELECT * FROM simple ORDER BY id
URL: http://127.0.0.1:8080/sql//SELECT+%2A+FROM+simple+ORDER+BY+id

但是,它目前附带 NOT FIT FOR PRODUCTION 警告。

Blog announcement.

Docs.

答案 2 :(得分:5)

NetBeans只是一个IDE。它与REST无关。如果您使用的是Java,请查看RestletJersey。我个人更喜欢泽西岛,但两者都有效。

答案 3 :(得分:5)

2017年更新:

PHP:该领域的另一位优秀球员是https://slimframework.com

Python:http://python-eve.org/

对于在2015年发现这一点的人来说,截至10月份仍在开发/正在开发的潜在解决方案是:

Haskell(二进制):https://github.com/begriffs/postgrest

Java:http://restsql.org/

PHP:https://github.com/moddity/Rester/

答案 4 :(得分:4)

正如dorkitude评论的那样,这取决于您可以使用/想要使用的语言。

我发现项目PHPRestSQL看起来像你想做的那样:http://phprestsql.sourceforge.net/ - 我自己没试过。

答案 5 :(得分:3)

似乎MySQL本身正在获取REST接口,因此我们可以查询数据库,而无需服务器...: - )

http://www.infoq.com/news/2014/09/MySQL-REST

答案 6 :(得分:3)

另一个选项是Slash db,"自动从关系数据库生成REST API。"

截至2017年6月,它适用于没有调整的SQL数据库,但其他类型的数据存储需要自定义开发的插件。

我只读过这项服务(不是用户)。我与他们没有任何关系。

答案 7 :(得分:2)

如果追求Java后端,请查看我为Need to write a RESTful JSON service in Java发布的答案,其中概述了使用以下内容连接数据库和创建RESTful Web服务所需的步骤。

  • IDE:Jave EE Developers(Kepler)的Eclipse IDE,内置Maven
  • 数据库:MySQL(也使用MySQL Workbench)
  • Application Server:GlassFish 4.0
  • Java EE 7
    • Jersey for JAX-RS(GlassFish中的默认实现)RESTful服务层。
    • EclipseLink for JPA(GlassFish中的默认实现)持久层。
  • 任何用于测试的REST客户端:(例如Postman)

答案 8 :(得分:2)

我在2020年的建议是使用metamug console。 Metamug控制台与语言无关,并使用MySQL连接构建API,而无需进行额外设置。

Metamug Connect to MySQL Database

资源编辑器

控制台带有资源编辑器,可帮助您将请求映射到sql语句。您可以在查询中添加参数验证和参数。

enter image description here

文档

它生成资源文档。 enter image description here

您可能需要的其他功能。

  • 它可以处理复杂的JSON请求以及分段和URL编码的数据
  • 实施标准状态代码和错误处理,因此您无需大汗淋漓。
  • 带有内置的查询测试,以使快速开发失败。
  • 基于角色的每个资源身份验证。

您可以用metamug tag

提问

免责声明:我是开发团队的一员。过去三年来,我们一直在开发metamug控制台。

您可以轻松导出具有metamug控制台的apis版本,以用于生产中,并且导出的webapp构建在open source mason library之上

答案 9 :(得分:1)

在2019年,您可以使用PHP-CRUD-API。它是一个单文件PHP脚本,它将REST API添加到MySQL 5.6 InnoDB数据库。 PostgreSQL 9.1和MS SQL Server 2012也完全受支持。

免责声明:我写了它。

答案 10 :(得分:0)

对于GET请求,DBSlayer看起来很有希望。这是google one,听起来也很有趣。我没有使用它/

答案 11 :(得分:0)

Chim in我遇到了loopback.io并且一直在玩弄它。它是一个很好的工具,可以轻松地为mysql创建api端点。你可以安装一个mysql连接器,然后它会发现你所有的mysql表,你可以在模型中创建它们。我不太了解编程,但是我很容易在一天内为我的sql工作获得api。我有19张桌子,很容易创建我的终点。

http://loopback.io

答案 12 :(得分:0)

您还应该考虑使用DataDirect的Hybrid Connectivity Services。他们可以帮助您快速restify your database。要开始使用,请参阅以下产品页面:

  1. REST API (OData) for MySQL Community Edition
  2. REST API (OData) for MySQL Enterprise Edition
  3. 免责声明:我为DataDirect工作,但请注意,我真的相信您应该考虑这些解决方案。

答案 13 :(得分:0)

为任何MySql数据库创建REST API的最简单方法之一是使用Xmysql

  • 使用一个命令的Xmysql,您可以得到数以千计的API 在几秒钟内(基于表数)。
  • Xmysql不仅会生成CRUD,而且还会生成一些复杂的聚合API。
  • Xmysql在回购中附带了一份非常好的书面文档。
  • 也有docker支持

答案 14 :(得分:-1)

您可能需要查看jongo。它是JDBC的REST API。