magic-api 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
magic-api 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
magic-api 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
magic-api 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
magic-api 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发网站API
开源组织
地区 国产
投 递 者 小东c
适用人群 未知
收录时间 2020-05-18

软件简介

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
  • 支持集群部署、接口自动同步。
  • 支持分页查询以及自定义分页查询
  • 支持多数据源配置,支持在线配置数据源
  • 支持SQL缓存,以及自定义SQL缓存
  • 支持自定义JSON结果、自定义分页结果
  • 支持对接口权限配置、拦截器等功能
  • 支持运行时动态修改数据源
  • 支持Swagger接口文档生成
  • 基于magic-script脚本引擎,动态编译,无需重启,实时发布
  • 支持Linq式查询,关联、转换更简单
  • 支持数据库事务、SQL支持拼接,占位符,判断等语法
  • 支持文件上传、下载、输出图片
  • 支持脚本历史版本对比与恢复
  • 支持脚本代码自动提示、参数提示、悬浮提示、错误提示
  • 支持导入Spring中的Bean、Java中的类
  • 支持在线调试
  • 支持自定义工具类、自定义模块包、自定义类型扩展、自定义方言、自定义列名转换等自定义操作

快速开始

maven引入

<!-- 以spring-boot-starter的方式引用 -->
<dependency>
	<groupId>org.ssssssss</groupId>
	<artifactId>magic-api-spring-boot-starter</artifactId>
    <version>1.3.3</version><!-- 替换为最新版本号 -->
</dependency

修改application.properties

server.port=9999
#配置web页面入口
magic-api.web=/magic/web
#配置文件存储位置。当以classpath开头时,为只读模式
magic-api.workspace=/data/magic-api

在线编辑

访问http://localhost:9999/magic/web进行操作

文档&演示

项目截图

整体截图 代码提示
DEBUG 参数提示
远程推送 历史记录
数据源 全局搜索
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (3)

加载中
logo 设计是否有抄袭 JetBrains 之嫌?
08/30 14:30
回复
举报
mark
07/27 18:01
回复
举报
大神继续优化,完善文档
2020/05/20 10:03
回复
举报
更多评论
发表了资讯
09/22 09:07

magic-api 1.4.5 发布,接口快速开发框架

本次更新内容: 新增创建数组方法 新增支持设置字体和字号 新增NamedTable、Where类的page(limit, offset)方法 修复async语句不是多线程执行的问题 修复在配置禁止导出时,执行导出未弹框显示无权限的BUG 修复函数中出现异常,错误会混乱的问题 修复高版本JDK无法创建List的问题 修复可变参数无法传递数组的BUG 修复在调用可变参数的方法时,可能出现的空指针的BUG 修复在变量重名的情况下SQL中可能获取不到参数的BUG 修复模块默...

1
8
发表了资讯
09/13 09:20

magic-api 1.4.3 发布,接口快速开发框架

本次更新内容: 新增接口&函数锁定和解锁功能 新增前端配置项,可配置驱动类、数据源类型、接口选项、分组选项的默认选项 新增支持复制分组功能 新增允许替换默认方言实现 修复在配置baseURL为/开头时的拼接错误 修复DEBUG时修改断点无效的问题 修复含有finally代码块可能会编译出错的BUG 修复NULL值在部分情况获取不正确的问题 修复循环数组时,获取下标不正确的BUG 修复LINQ调用时变量作用域错乱的BUG 修复当对象为空调用方法...

9
8
发表了资讯
09/06 08:54

magic-api 1.4.2 发布,接口快速开发框架

本次更新内容: 修复db模块的withBlank在update时失效的问题 修复部分情况编译出现的空指针异常 修复字符串转义符未生效的问题 修复上下文错乱的问题 I48F0L 优化代码格式化,修复部分情况格式化不正确的问题 移除非DEBUG期间的日志 项目介绍 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成...

2
10
发表了资讯
09/01 08:15

magic-api 1.4.1 发布,接口快速开发框架

本次更新内容: 新增调用函数的方法 修复DEBUG期间部分JSON结果无法序列化的问题 修复无法调用动态方法的BUG 修复脚本中包含文本块格式化代码时结果不正确的问题 修复刚新建的分组不能修改的问题 优化历史记录显示顺序 优化DEBUG时null值的显示 优化在未开启UI的情况下,还会推送日志消息的问题 优化逻辑删除,支持int类型的逻辑删除值。 优化DEBUG时的变量显示顺序 优化日志显示,多行日志收缩显示 fix I47QH4 I47VNI 项目介绍...

2
7
发表了资讯
08/30 09:08

magic-api 1.4.0 发布,接口快速开发框架

本次更新内容: 优化脚本执行性能(使用asm编译字节码后执行) 新增LINQ语法:limit offset 新增支持throw语法 新增支持定义数值时使用_分隔 新增支持定义二进制、十六进制定义数值0b111000、0xff 新增支持let、const,以及指定类型的方式定义变量 新增支持模板字符串语法 `hello:${name}` 新增支持数组、集合访问超出范围时直接返回null,不在抛出异常。 新增集合扩展方法first、last方法,数组增加size方法 新增db模块方法:cou...

0
3
发表了资讯
08/16 08:38

magic-api 1.3.9 发布,接口快速开发框架

本次更新内容: 新增支持在测试时上传文件 新增db模块更新空值的方法withBlank 修复db模块在切换数据后缓存设置失效的BUG 修复部分场景无法查看异常信息的问题:将异常信息改为WebSocket通讯 修复数据源必填验证不正确的问题 修复全量推送或上传后id发生变化导致后续不能增量推送或上传的问题 优化代码提示,修复部分场景无法提示的问题 优化滚动条样式(美化在火狐浏览器中的样式) 优化复选框样式(解决部分浏览器复选框错位的...

2
8
发表了资讯
08/11 08:56

magic-api 1.3.8 发布,接口快速开发框架

本次更新内容: 修复asm分支不支持DEBUG的BUG 修复asm分支异常打印可能出现空指针的问题 修复未配置数据源时无法启动的问题 优化代码提示,解决部分场景提升不正确的问题 优化UI布局,将接口选项中的+/-移动至左侧 使用magic-script asm分支方法如下: <dependency> <groupId>org.ssssssss</groupId> <artifactId>magic-api-spring-boot-starter</artifactId> <version>1.3.8</version> <exclusions> ...

4
3
发表了资讯
08/09 09:00

magic-api 1.3.7 发布,接口快速开发框架

本次更新内容: 新增事件日志Tab页 新增保存成功消息提示 修复集群环境下,修改接口名字可能未同步的BUG 修复无法测试druid数据源链接的问题 修复在调用Java原生方法只有一个参数且是可变参数时,传入数组参数未被正确处理的BUG 修复在结果预览中文件下载未显示文件名的问题 修复responseBody属性拷贝丢失,受执行时浅拷贝导致设置了BaseDefinition的name导致Swagger文档生成影响的BUG 修复swagger文档必填字段未显示的问题 升级...

0
2
发表了资讯
08/02 09:03

magic-api 1.3.6 发布,接口快速开发框架

本次更新内容: 新增注释补全功能 增加not_blank、not_null、is_null、is_blank、current_timestamp、print等相关函数 修复未改动脚本时无法保存接口的BUG 修复注销不应该验证需要登录的问题 修复文件参数必填验证失效的BUG 修复在使用过程中Token失效后未显示登录框的问题 修复无法删除接口的BUG 修复Body参数在编辑后丢失配置信息的问题 修复Redis模块部分场景无法注册模块的问题 修正删除接口的权限配置错误 修复定义async、...

2
7
发表了资讯
07/26 11:44

magic-api 1.3.5 发布,接口快速开发框架

本次更新内容: 增加Boolean类型的参数定义、header定义 PR27 新增备份最大保留天数配置 新增备份存储方式配置 修复在验证Body时,无法修改数组值类型的BUG 修复JS无法识别JSON数值具体类型的问题 修复修改分组时报空指针的BUG 修复在import接口、函数时,内部使用exit未正确返回的问题 修复上传时分组冲突检测不正确的BUG 修复语法高亮中注释未被正确高亮的问题 优化备份判断逻辑,修改为只有脚本部分有变动时才备份。 优化UI数...

1
7
发表了资讯
07/19 08:55

magic-api 1.3.4 发布,接口快速开发框架

本次更新内容: 弃用SSE改为WebSocket通讯,同时支持集群DEBUG能力 #I3ZL4B 新增assert语法,用于辅助校验参数。#I3ZL4Q 新增支持import "xxx.xxx.*"的语法,导包更方便。#I3ZL4O 新增单表API逻辑删除功能 #I40L8P 新增提取代码中的TODO、FIXME的功能 #I3ZL3W 新增集合扩展去重函数distinct 修复在knife4j中参数默认值未显示的问题 #I40BG2 修复集合push函数未生效的BUG #I40NP7 修复magic-script中部分表达式优先级不正确造成的...

1
6
发表了资讯
07/12 09:05

magic-api 1.3.3 发布,接口快速开发框架

本次更新内容: 新增复制相对路径功能 新增注释中的TODO、FIXME高亮 修复推送重命名后的接口未被正确同步的BUG 修复Swagger文档不显示ResponseBody的问题 修复全局搜索中关键字高亮不正确的BUG 修复不回显RequestBody、ResponseBody的注释、验证信息的BUG 修复全局搜索中有时展示不出代码的BUG 修复左侧树复制接口时不能弹出编辑框的BUG 修复分组下没有接口时无法被搜索的BUG 修复拖拽左侧菜单后右侧编辑器大小未自适应的问题 ...

0
4
发表了资讯
07/08 08:59

magic-api 1.3.2 发布,接口快速开发框架

本次更新内容: 新增PUSH权限配置 修复推送需要验证登录的BUG 修复单表API中in方法拼接SQL不正确的BUG 修复修改分组名称可能出现的空指针异常 修复编辑器不显示RequestBody的问题 修复编辑器中请求方法全部显示为GET的BUG 优化部分UI中的英文,改为中文描述 项目介绍 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、X...

2
6
发表了资讯
07/05 10:13

magic-api 1.3.1 发布,接口快速开发框架

本次更新内容: 新增支持自定义选择接口推送和导出 #I3TRT4 新增国产化数据库人大金仓kingbase方言适配 #I3YCN2 新增主动刷新功能,用于在未开启集群配置且使用同一个存储不能同步的问题。 修复DEBUG会造成多次验证的BUG 修复设置参数类型不生效的BUG 优化UI样式,将右上角不常用的图标移至右下角、以及左侧菜单优化 项目介绍 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为...

2
10
发表了资讯
06/28 08:23

magic-api 1.3.0 发布,接口快速开发框架

本次更新内容: 新增RequestBody文档注释、属性校验,ResponseBody 文档注释 新增response模块的getOutputStream方法 新增UI配置项defaultExpand,用于配置是否默认展开 修复上传时由于读取顺序无序导致结果错乱的问题 修复Swagger文档注释被名称覆盖的问题 修复在调用save时,Oracle数据库可能出现空指针的BUG 优化UI上传接口对话框,全量上传时增加确认框 优化UI左侧树,新增defaultExpand默认是否展开配置 优化UI复制路径功能...

0
10
发表了资讯
06/15 08:47

magic-api 1.2.2 发布,接口快速开发框架

本次更新内容: 新增自定义构建异常结果接口 新增启动后接口URL打印 修复在删除分组后,无法上传该分组的BUG 修复可能存在的循环引用的BUG 优化UI左侧树搜索,不在区分大小写 优化单表API,新增支持delete方法、save方法增加beforeQuery参数,用于判断数据是否存在的判断标准 项目介绍 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service...

0
5
发表了资讯
05/31 07:36

magic-api 1.2.1 发布,接口快速开发框架

本次更新内容: 新增远程推送功能 新增注销登录功能 修复上传不支持数据源的问题 修复搜索未验证是否登录的问题 优化UI右键菜单,增加图标 优化上传逻辑,分为增量模式和全量模式 项目介绍 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发 使用方式 maven引入 <!--...

0
12
发表于开发技能专区
05/24 04:49

magic-api 1.2.0 发布,接口快速开发框架

本次更新内容: 新增支持集群部署 新增数据源增删改查接口,可持久化保存数据源 修复在拦截器中抛出异常时,界面不显示结果的BUG 修复Oracle查询单行单列值时,返回值带有ROW_ID的问题 PR !13 解决swagger文档使用knife4j时不兼容,无法显示接口详情的问题(opens new window) PR !14 [!]fix swagger文档使用knife4j时接口文档中query类型参数的数据类型显示不正确的问题(不影响swagger原生UI)(opens new window) 优化前端代码...

0
10
发表了资讯
05/18 08:31

magic-api 1.1.3 发布,接口快速开发框架

本次更新内容: 新增获取函数、接口详情的接口 修复无法创建分组的BUG 项目介绍 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定义Controller、Service、Dao、Mapper、XML、VO等Java对象即可完成常见的HTTP API接口开发 使用方式 maven引入 <!-- 以spring-boot-starter的方式引用 --> <dependency> <groupId>org.ssssssss</groupId> <artifactId>ma...

1
11
发表了资讯
05/17 09:22

magic-api 1.1.2 发布,接口快速开发框架

本次更新内容: 新增支持配置json结果code值 新增接口、函数、分组的增删改查接口。 修复在测试、删除数据源时未释放链接的问题 修复分组无法移动的问题 优化设置RequestEntity时机 优化构建分页结果接口,增加RequestEntity、Page参数 优化对SpringBoot的兼容性 优化UI样式,修复部分样式错位问题 项目介绍 magic-api 是一个基于Java的接口快速开发框架,编写接口将通过magic-api提供的UI界面完成,自动映射为HTTP接口,无需定...

0
6
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2015/12/09 13:18

magic number

问题 Java中的magic number指什么,为什么有时候它会返回bad(这里指得是"bad magic number"错误,当装载applet的时候会发生)? 回答 Java applet编译后的class二进制文件(以class结尾)可以通过网络传输。有时候在传输文件的过程中,连接可能会被中断或受干扰,使得class文件装载失败;有时候当拷贝文 件到web服务器时,文件会被混淆或者发生磁盘错误。因此,JVM和class loader提供了特别的手段去验证类文件是否完整。一个预...

0
0
发表了博客
2018/02/28 12:29

Magic Squares

要求1: 在MagicSquqre.java文件中添加isLegalMagicSquare()函数,判断一个矩阵是否为MagicSquare。 MagicSquare说明:矩阵行数以及列数相同,且每行元素之和,每列元素之和以及对角线元素之和都应相等:                        1.我们需要从https://github.com/rainywang/Spring2018_HITCS_SC_Lab1/tree/master/P1获取1.txt, 2.txt, ..., 5.txt等5个测试文件,并将其添加到项目的指定路径:\src\P1\txt...

0
0
发表了博客
2015/05/06 14:28

Magic思路下的微信语音版"Magic"想法

背景 第一个: 过几天就是老妈生日了,想买套刀具,300块左右吧。从淘宝上搜了一下,找类别,输入条件,鼓捣了半分钟后,结果出来了。。。哦,好夸张啊,好多种选择,几百种总有了吧,各种不同的店,加上各种各样的刀的类型,各种不同的评价(全是好评,虽说不能不信吧,但又说不出来,到底谁的更好更适合),四个小时后,选择了一款(我承认我有时候会有选择恐惧症)。。。最悲催的是,太投入了,结果老板要求的东西,还没弄完...

0
1
发表了博客
2016/06/21 12:08

web magic

目标url:例子 package com.spider.test; import us.codecraft.webmagic.Page; import us.codecraft.webmagic.Site; import us.codecraft.webmagic.Spider; import us.codecraft.webmagic.processor.PageProcessor; public class chinataxProcessor implements PageProcessor { private Site site; public chinataxProcessor() { this.site = Site.me().setRetryTimes(3).setSleepTime(1000).setUseGzip(t...

0
0
发表了博客
2015/10/26 14:11

matlab magic

for n = 8:11     subplot(2,2,n-7)     surf(magic(n))     title(num2str(n))     axis off    view(30,45)     axis tight end 其中,生成幻方的matlab程序如下 function M = magicV2(n) %magicV2  magicV2 square. %   magicV2(N) is an N-by-N matrix constructed from the integers %   1 through N^2 with equal row, column, and diagonal sums. %   ...

1
0
2016/10/13 17:54

magic_quotes_gpc与magic_quotes_runtime的异同点

相同: 在PHP中,当magic_quotes_gpc和magic_quotes_runtime设置为on时,数据遇到单引号(')和双引号("")以及反斜线(\)、null时,会自动加上反斜线进行自动转义。所以,这两个数据魔法引用函数的作用体现在,当你的数据中存在单引号、双引号、反斜线这些字符,并且要写入数据库里面,同时又不想被过滤掉的时候,开启这两个函数进行自动转义,可以防止溢出。 这在对数据库的数据进行转移的时候非常有用。 注: 默认情况下,...

0
0
发表了博客
2015/08/17 10:42

Magic Potions

题目描述: 一堆东西,每次拿出两个不同的东西合。要最终合出来的最多。并且要贪心的买12 13 14.。。1n 23.。。 http://codeforces.com/gym/100430/attachments/download/2418/20092010-summer-petrozavodsk-camp-andrew-stankevich-contest-36-asc-36-en.pdf 题解: 首先要保证总个数是最多的。怎么算总个数?求一下maxelement,然后sum-maxelement和max值比较,大中小对应情况。 其次要贪心的去取,那么我们最直接的:取12 取...

0
0
发表了博客
2015/07/28 13:56

Verson Magic problem

参考:http://blog.umbrellaj.com/blog/2013/03/15/trick-on-the-verson-magic-number-of-linux-kernel/ The version magic number of the kernel that being used to build the externel module has to be exactly the same as the kernel running on the device. It won’t be a problem if you build the module and kernel, then load both of them to the device. However, in this case, I would like to avoid to build ...

0
0
发表了博客
2019/02/19 09:54

CF1117D Magic Gems

CF1117D Magic Gems 考虑 $dp$ , $f[i]$ 表示用 $i$ 个单位空间的方案数,答案即为 $f[n]$. 对于一个位置,我们可以放 $Magic$ 的,占 $m$ 空间,也可以放 $Normal$ 的,占 $1$ 空间. 转移方程即为 $f[i]=f[i-1]+f[i-m]$ ,边界条件为 $f[0]=f[1]=f[2]=\dots f[m-1]=1$. 直接转移是 $O(n)$ 的,无法通过,需要矩阵优化. 时间复杂度为 $O(m^3logn)$ ,可以通过本题. #include<bits/stdc++.h> using namespace std; #define ll long long #...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
3 评论
94 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部