jOOQ生态系统和社区正在持续增长。 我们个人总是很高兴看到基于jOOQ构建的其他开源项目。 今天,我们非常高兴为您介绍BjörnHarrtell结合REST和RDBMS的一种非常有趣的方法。
BjörnHarrtell从小就是瑞典的程序员。 他通常在Sweco Position AB上忙于编写GIS系统和集成,但是有时他会花时间参与开放源代码项目,并为与开放源代码项目(如GeoTools和OpenLayers)相关的一些工作做出贡献。 Björn还亲自发起了一些小型的开源项目,而他正在从事的最新项目之一是jdbc-http-server 。
我们很高兴发表Björn的客座文章,介绍他的有趣作品:
JDBC HTTP服务器
是否曾经发现自己编写了很多REST资源,它们对关系数据库进行了简单的CRUD,并且感觉到代码在重复自己? 在这种情况下,jdbc-http-server可能是一个值得签出的项目。
jdbc-http-server将关系数据库实例公开为可发现的REST API,从而可以从浏览器应用程序执行简单的CRUD,而无需编写任何后端代码。
可发现的REST API意味着您可以访问/处的根资源,并从那里访问子资源的链接。 例如,假设您有一个名为testdb的数据库,并且在公共模式中有一个名为testtable的表,然后可以执行以下操作:
在以下位置检索(GET),更新(PUT)或删除(DELETE)单行:
/db/testdb/schemas/public/tables/testtable/rows/1
在以下位置检索(GET),更新(PUT)行或创建新行(POST):
/db/testdb/schemas/public/tables/testtable/rows
以上资源接受适用的参数select,where,limit,offset和orderby。 例子:
在以下位置获取最多10行,其中cost> 100
/db/testdb/schemas/public/tables/testtable/rows?where=cost>100&limit=10
jdbc-http-server与数据库引擎无关,因为它利用jOOQ以适合目标数据库引擎的方言生成SQL。 目前,H2,PostgreSQL和HSQLDB已被自动化测试覆盖。 当前,唯一可用的表示形式数据格式是JSON,但是添加更多的格式是一种有趣的可能性。
反馈,当然也欢迎贡献!
翻译自: https://www.javacodegeeks.com/2014/11/a-restful-jdbc-http-server-built-on-top-of-jooq.html