Magic-api介绍及使用
by @Claudia
文章目录
简介
magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成(如下图),自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML等Java对象即可完成常见的HTTP API接口开发。
主要特性
- 基于 magic-script 脚本引擎,动态编译,无需重启,实时发布
- 支持多数据源配置,支持运行时动态添加数据源
- 支持导入Spring中的Bean、Java中的类
- 支持自定义工具类、自定义模块包、自定义类型扩展、自定义函数等
其他特性
- 支持MySQL、MariaDB、Oracle、DB2、PostgreSQL、SQLServer 等支持jdbc规范的数据库
- 支持非关系型数据库Redis、Mongodb
- 支持分页查询以及自定义分页查询
- 支持SQL缓存,以及自定义SQL缓存
- 支持SQL拦截、自定义分页方言、自定义列名转换
- 支持自定义JSON结果、自定义分页结果
- 支持对接口权限配置、拦截器等功能
- 支持Swagger接口文档生成
- 支持Linq式查询,关联、转换更简单
- 支持数据库事务、SQL支持拼接,占位符,判断等语法
- 支持文件上传、下载、输出图片
- 支持脚本历史版本对比与恢复
- 支持脚本代码自动提示、错误提示、参数提示、语法错误提示
- 支持在线调试脚本引擎
基本使用
-
首先导入官网提供的 magic-api.sql 文件,主要用于存储在线web页面编写的接口与脚本数据。
-
SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for magic_api_info -- ---------------------------- DROP TABLE IF EXISTS `magic_api_info`; CREATE TABLE `magic_api_info` ( `id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, `api_method` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', `api_path` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求路径', `api_script` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '接口脚本', `api_parameter` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '接口参数', `api_option` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '接口选项', `api_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口名称', `api_group_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '分组ID', `api_request_body` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求体', `api_request_header` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '请求Header', `api_response_body` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '输出结果', `api_response_header` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '输出Header', `api_description` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '接口描述', `api_create_time` bigint NULL DEFAULT NULL COMMENT '创建时间', `api_update_time` bigint NULL DEFAULT NULL COMMENT '修改时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'MagicAPI接口信息' ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for magic_api_info_his -- ---------------------------- DROP TABLE IF EXISTS `magic_api_info_his`; CREATE TABLE `magic_api_info_his` ( `id` varchar