4 Star 33 Fork 16

YuePeng / zeta-api

加入 Gitee
与超过 600 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README.md

ZetaAPI

star GitHub stars

项目介绍

SQL + XML快速创建Api接口与使用文档,开发速度快如闪电!

框架特性

  1. 配置简单功能丰富
  2. 使用 xml 标签属性就可支持缓存,默认缓存实现为 caffeine,也可自定义缓存实现
  3. 支持 if 标签分支判断,处理各种复杂场景
  4. 自定义访问拦截,可创建拦截器修改表达式与返回结果
  5. 根据 XML 配置,动态生成 Api 文档,支持在线测试
  6. 支持xml热更新,无需重启容器,即可读取最新xml配置
  7. 支持link标签,单次请求,执行多条SQL语句
  8. 支持ip白名单配置

使用方法

  1. 创建spring boot项目
  2. 导入依赖
<dependency>
    <groupId>xyz.erupt</groupId>
    <artifactId>zeta-api</artifactId>
    <version>0.5.5</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
  1. 配置数据库连接与数据库驱动
  2. 创建xml配置文件:/resources/epi/xxx.xml
  3. xml文件示范例
<?xml version="1.0" encoding="utf-8" ?>
<zeta desc="zeta接口示例">
    <hello-world title="基础使用">
        select 'hello world' key
    </hello-world>
    <cache title="使用缓存(cache单位毫秒)" cache="5000">
        select 'cache' cache,now() now
    </cache>
    <params title="参数获取与处理">
        <param key="param" default="hello zeta"/>
        select :param param
    </params>
    <condition title="条件处理">
        <param key="param" title="数值参数"/>
        select
        <if test="param&gt;10">
            'gt 10' param_status
        </if>
        <if test="param&lt;10">
            'lt 10' param_status
        </if>
        <if test="param==10">
            'eq 10' param_status
        </if>
    </condition>
    <insert title="插入数据">
        <param key="content" title="内容"/>
        insert into demo(content) values (:content)
    </insert>
    <links title="同时执行多条SQL">
        select 'hi' hi
        <link id="now">
            select now() now;
        </link>
        <link id="second">
            select '第二条SQL执行结果' result;
        </link>
    </links>
</zeta>

启动项目,查看接口文档:http://localhost:8080/zeta-doc/xml文件名.html

演示文档:http://localhost:8080/zeta-doc/$demo.html

img img img

application.yml配置项说明

zeta-api:
  #是否热读取xml配置,生产环境不要开启此功能
  hotReadXml: true
  #是否开始缓存功能
  enableCache: true
  #是否开启Api文档查询功能
  enableApiDoc: true
  #自定义缓存实现,需实现xyz.erupt.zeta_api.handler.ZetaCache接口
  cacheHandlerPath: xyz.erupt.xxxx
  #是否打印sql语句
  showSql: true
  #访问白名单,空表示不对ip进行鉴权
  ipWhite:
    - 127.0.0.1
    - 192.168.1.1
    - 192.168.1.187

接口请求示例

// jquery为例
$.ajax({
    type: "POST",
    url: "/zeta-api/sql/{file}/{name}",
    contentType: "application/json",    //请求内容需要为json
    data: JSON.stringify({ param: 10}), //必须使用JSON.stringify
    success: function (res) {
        alert(res);
    }
});

项目推荐

Erupt Framework 通用数据管理框架
仓库地址:https://github.com/erupts/erupt
官网地址:https://www.erupt.xyz

点评 ( 3 )

你可以在登录后,发表评论

简介

通过XML配置暴露Api接口,动态生成API文档 展开 收起
Java 等 2 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/erupt/zeta-api.git
git@gitee.com:erupt/zeta-api.git
erupt
zeta-api
zeta-api
master

搜索帮助