在现在流行微服务、前后端分离软件开发架构下,基于标准RESTful/JSON的HTTP接口已经成为主流。在实际业务中有很多需要快速开发调用数据服务接口的需求,但团队中缺乏专业的后端开发人员,比如:
(1)数据库表已存在,如何快速把数据变成服务,供报表、大屏等数据可视化方式使用。
(2)移动APP/H5/小程序开发,前端程序员快速开发后端接口进行接口调用和联调测试。
(3)数据中台架构中,企业数据资产对外快速发布http服务及统一管理。
如果是Java语言开发,正常开发一个RESTful接口服务流程如下:
引入springboot框架,编写Spring MVC的Controller类代码,引入mybatis等ORM框架,编写SQL语句或DAO接口,才能把数据库数据的增删改查操作发布成基于HTTP协议的API接口。
下面推荐几个基于无代码/低代码技术,快速开发数据库HTTP服务接口的开源框架/工具。
一、Swagger和Springfox
Swagger: Swagger(现在称为OpenAPI Specification)是一个广泛使用的开源框架,用于设计、构建、文档化和使用RESTful Web服务。它提供了丰富的工具集,包括Swagger-UI和Swagger-Editor,可以帮助开发者快速生成和测试API。
使用 Swagger 编辑器需要编写 yaml 文件,生成 API 接口文件。只要在给定的 yaml 文件,修改我们需要修改的部分,然后点击上方的 [Generate Server] 即可生成服务端代码, [Generate Client] 可以生成客户端代码。
Springfox: Springfox是为Spring MVC应用程序提供自动 Swagger API 文档生成的库。它分析你的Spring MVC代码并自动生成符合Swagger规范的API文档。
二、Magic-API
Magic-API是一个基于Java的接口快速开发框架。它主要提供了以下特点和功能:
快速开发: Magic-API旨在提高开发者编写和维护HTTP API接口的效率。通过使用该框架,开发者可以更快地创建和修改API。
UI界面: 它提供了一个用户界面(UI),允许开发者通过图形化的方式编写和管理API,而不仅仅是通过编写代码。
自动映射: Magic-API能够自动将通过UI界面定义的接口映射为HTTP接口,减少了手动编写Controller、Service、Dao、Mapper、XML等传统Java对象的工作。
简化工作流: 由于无需手动定义大量的Java对象,开发者可以更专注于业务逻辑的实现,而不是底层的基础设施代码。
低代码特性: 通过减少手动编码的需求,Magic-API具有一定的低代码开发特性,使得非专业程序员或者业务人员在一定程度上也能够参与到API的开发过程中。
数据库操作支持: 根据提供的信息,Magic-API可能还包含了对数据库操作的支持,可以直接在UI中编写SQL查询并返回结果。
总的来说,Magic-API是一个旨在简化和加速Java HTTP API开发过程的工具,通过提供可视化界面和自动化的代码生成,降低了开发门槛和提高了开发效率。
三、DBApi
DBApi是一种用于快速生成数据库HTTP接口服务的工具或框架。以下是对DBApi主要特性和功能的概述:
低代码/无代码开发: DBApi支持低代码或无代码开发方式,这意味着开发者无需编写大量的基础代码就能实现数据库API的创建和管理。
SQL直接转API: 开发者可以直接编写SQL查询语句,DBApi会将这些查询转换为可用的HTTP API接口,简化了数据访问和操作的过程。
HTTP接口服务: DBApi生成的接口是以HTTP协议为基础的服务,这使得外部系统可以通过标准的HTTP请求来访问和操作数据库中的数据。
内嵌元数据库支持: DBApi可能默认使用内嵌的SQLite元数据库进行管理,但如果需要,也可以配置为连接到其他类型的数据库。
插件支持: DBApi提供了插件机制,包括数据转换插件、缓存插件、告警插件和全局数据转化插件等。这些插件可以增强API的功能,例如通过缓存插件提高查询性能,减少对数据库的频繁访问。
标准化口: 虽然具体实现可能因工具而异,但DBApi通常会遵循某种数据库访问的标准,如Python的DB-API,以确保与各种数据库系统的兼容性和一致性。
方便的数据发布: 使用DBApi,可以更方便地将数据库数据对外发布为HTTP服务,这对于构建RESTful API或者实现数据集成场景非常有用。
总之,DBApi是一个旨在简化数据库接口开发、提高开发效率并促进数据共享的工具,它允许开发者通过直观的方式管理和暴露数据库数据,而无需深入掌握复杂的网络编程和API开发技术。
四、APIJSON
APIJSON是一种专为API设计和开发而生的JSON网络传输协议以及基于这套协议实现的ORM(对象关系映射)库。以下是一些关于APIJSON的主要特性和功能:
自动化接口: APIJSON提供了完全自动化的接口生成能力,可以根据数据模型自动生成对应的增删改查接口,无需手动编写接口代码。
文档生成: 它能够自动生成清晰、可读且始终保持最新的接口文档。这使得开发者可以方便地理解和使用API,同时也简化了文档维护工作。
请求代码生成: APIJSON支持自动生成客户端请求代码,包括Android和iOS平台,这大大简化了客户端调用API的过程。
JavaBean文件生成: 它可以自动生成JavaBean文件,这些文件代表了数据模型,并且可以一键下载到本地进行使用。
接口用例管理与测试: APIJSON提供了接口用例的自动管理功能,包括创建、更新和删除用例。它还支持用例的一键共享和自动化的接口测试。
查询语言: APIJSON定义了一套基于JSON的查询语言规范,使得客户端可以通过JSON格式的请求来精确指定需要的数据和操作。
灵活性与扩展性: APIJSON设计灵活,能够适应各种复杂的查询需求和数据结构变化,无需修改服务器端代码即可满足新的需求。
安全性与性能: APIJSON考虑了安全性因素,通过规范化的接口设计和权限控制机制来保护数据安全。同时,其高效的查询解析和执行能力有助于提升系统性能。
零代码实时更新: 对于数据模型或接口需求的变更,APIJSON能够实现零代码的实时更新和适应,减少了维护成本和时间。
通过使用APIJSON,开发者可以更加高效地构建和维护RESTful风格的API,同时确保了接口的安全性、易用性和可维护性。这种自动化和标准化的方法有助于提高开发效率,减少错误,并提供更好的开发者体验。
五、云程低代码
云程低代码平台基于springboot、springcloud、vue技术开发,采用微服务、前后端分离等标准云原生架构,提供了数据建模、表单建模、流程建模、大屏建模等可视化开发工具,在数据服务HTTP接口方面,整合集成了Magic-API、Swagger、Springfox等开源组件,形成了可视化快速开发http数据服务接口能力,通过可视化的向导,简单几步配置,无需写一行代码,就可以生成标准的restful api接口,满足零代码开发数据大屏可视化、移动端APP/H5/小程序调用后端数据接口、快速发布数据服务给第三方应用等方面的业务需求。
一键生成数据库表的CRUD操作的HTTP服务接口,如果默认生成的接口不能满足业务需求,可进行二次编辑修改。
自动生成的http服务接口基于Springfox自动生成符合Swagger规范的API文档,可在线发送给前端开发人员、第三方调用者使用。