V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
javaxd
V2EX  ›  分享创造

magic-api: Java 后端开发者的福音,接口开发利器

  •  1
     
  •   javaxd · 2020-11-16 09:40:02 +08:00 · 2818 次点击
    这是一个创建于 1467 天前的主题,其中的信息可能已经有所发展或是发生改变。

    magic-api 介绍

    magic-api 是一个基于 Java 的接口快速开发框架,将通过 magic-api 提供的 UI 界面完成编写接口,自动映射为 HTTP 接口,无需定义 Controller 、Service 、Dao 、Mapper 、XML 、VO 等 Java 对象即可完成常见的 HTTP API 接口开发

    magic-api 并不是代替传统的开发,即可以与传统的接口开发共存,也可以单独使用

    magic-api 可以做什么?

    • 报表、看板、多统计查询场景
    • 业务逻辑相对简单、需快速开发迭代
    • 将数据库、服务等多个结果集聚合处理

    magic-api 有哪些功能?

    • 支持 MySQL 、MariaDB 、Oracle 、DB2 、PostgreSQL 、SQLServer 等多种数据库
    • 支持非关系型数据库 Redis 、Mongodb
    • 支持分页查询以及自定义分页查询
    • 支持多数据源配置,支持运行时动态添加数据源
    • 支持 SQL 缓存,以及自定义 SQL 缓存
    • 支持自定义 JSON 结果、自定义分页结果
    • 支持对接口权限配置、拦截器等功能
    • 支持运行时动态修改数据源
    • 支持 Swagger 接口文档生成
    • 基于magic-script脚本引擎,动态编译,无需重启,实时发布
    • 支持数据库事务、SQL 支持拼接,占位符,判断等语法
    • 支持文件上传、下载、输出图片
    • 支持脚本历史版本对比与恢复
    • 支持脚本代码自动提示、错误提示
    • 支持导入 Spring 中的 Bean 、Java 中的类
    • 支持在线调试脚本引擎
    • 支持自定义工具类、自定义模块包、自定义类型扩展

    快速集成

    maven 引入

    <!-- 以 spring-boot-starter 的方式引用 -->
    <dependency>
    	<groupId>org.ssssssss</groupId>
    	<artifactId>magic-api-spring-boot-starter</artifactId>
    	<version>0.4.6</version>
    </dependency>
    
    
    

    创建数据库表

    执行 Github 或 Gitee 仓库中的 SQL 语句:db/magic-api.sql,具体链接在文章末尾。

    配置 SpringBoot

    server.port=9999
    #配置 web 页面入口
    magic-api.web=/magic/web
    #以下配置需跟实际情况修改
    spring.datasource.url=jdbc:mysql://localhost/test
    spring.datasource.username=root
    spring.datasource.password=123456789
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    
    
    

    启动项目

    启动项目之后,在访问 http://localhost:9999/magic/web 即可以看到接口配置页面 配置页面

    创建一个接口

    分页测试

    保存之后访问页面测试(访问第 2 页,每页 5 条):

    测试结果

    其它 Demo 就不一一列举了,SQL 脚本中内置了很多 Demo,可以下载自行查看,也可以访问演示地址

    总结

    通过以上简单的配置就可以实现一个接口,相比传统方式极大的简化了开发,这也正是本项目的初衷以及目的。如果大家在使用过程中有什么问题、疑问、建议可以在评论区、Github 、Gitee 上提 Issue,也欢迎加 QQ 交流群来讨论。

    5 条回复    2020-11-16 16:23:14 +08:00
    lori01
        2
    lori01  
       2020-11-16 11:22:27 +08:00
    收藏
    wysnylc
        3
    wysnylc  
       2020-11-16 11:32:55 +08:00
    请问有没有 JsonApi 好用
    javaxd
        4
    javaxd  
    OP
       2020-11-16 11:46:15 +08:00
    @wysnylc APIJSON 吗?我个人是不喜欢那种风格的。定位也不一样
    yuhangch
        5
    yuhangch  
       2020-11-16 16:23:14 +08:00
    包名离谱哈哈哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   973 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:10 · PVG 04:10 · LAX 12:10 · JFK 15:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.