目录
- 概述
- 简介
- 特性
- 搭建
- 创建元数据表
- idea新建spring-boot项目
- pom.xml
- application.properties
- 打包
- 上传MagicAPI-0.0.1-SNAPSHOT.jar
- 开启服务
- 访问
- magic语法
概述
简介
magic-api是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口。 无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发。
特性
- 支持MySQL、MariaDB、Oracle、DB2、PostgreSQL、SQLServer等支持jdbc规范的数据库
- 支持非关系型数据库Redis、Mongodb、ElasticSearch
- 支持动态配置定时任务
- 支持集群部署、接口自动同步
- 支持分页查询以及自定义分页查询
- 支持多数据源配置,支持在线配置数据源
- 支持SQL缓存,以及自定义SQL缓存
- 支持自定义JSON结果、自定义分页结果
- 支持对接口权限配置、拦截器等功能
- 支持运行时动态修改数据源
- 支持Swagger接口文档生成
- 支持可插拔式的插件机制
- 支持i18n国际化
- 支持团队协作,可显示在线人数、以及他人正在编辑和浏览的接口等功能
- 基于magic-script (opens new window)脚本引擎,动态编译,无需重启,实时发布
- 支持Linq式查询,关联、转换更简单
- 支持数据库事务、SQL支持拼接,占位符,判断等语法
- 支持文件上传、下载、输出图片
- 支持脚本历史版本对比与恢复
- 支持脚本代码自动提示、参数提示、悬浮提示、错误提示
- 支持导入Spring中的Bean、Java中的类
- 支持在线调试
- 支持自定义工具类、自定义模块包、自定义类型扩展、自定义方言、自定义列名转换等* 自定义操作
搭建
创建元数据表
- 这里使用pg数据库etl
psql etl -U jkfw
create table magic_api_file(
file_path varchar(512) primary key,
file_content text
);
\q
idea新建spring-boot项目
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.yuzhenchao</groupId>
<artifactId>MagicAPI</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>MagicAPI</name>
<description>MagicAPI</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.ssssssss</groupId>
<artifactId>magic-api-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.6.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.properties
server.port=9999
magic-api.web=/magic/web
magic-api.resource.type=database
magic-api.resource.tableName=magic_api_file
magic-api.auto-import-package=java.lang.*,java.util.*
magic-api.thread-pool-executor-size=8
magic-api.security.username=admin
magic-api.security.password=123456
spring.datasource.name=magic-api
spring.datasource.url=jdbc:postgresql://101.34.75.200:5432/etl
spring.datasource.driver-class-name=org.postgresql.Driver
spring.datasource.username=jkfw
spring.datasource.password=123456
打包
上传MagicAPI-0.0.1-SNAPSHOT.jar
开启服务
nohup java -jar MagicAPI-0.0.1-SNAPSHOT.jar &
访问
magic-api v2.1.1
magic语法
界面简介 | magic-api