Code Monkey home page Code Monkey logo

crabc-api's Introduction

介绍

Crabc 是低代码接口开发平台,企业级API管理系统,深度整合SpringBoot和Mybatis实现动态数据源和动态SQL。 支持接入(mysql、oracle、postgresql、sqlserver、达梦、TiDB、es和mongodb)等SQL或/NoSQL数据源, 在线可视化编写SQL后即可快速生成接口对外提供服务,减少通用接口的SQL编写,让开发人员专注更复杂的业务逻辑实现。 支持Mybatis中if等标签语法、数据脱敏、数据转换等功能,集成微服务网关支持接口代理转发、权限认证、限流、缓存、告警监控等一站式API服务。

img.png

功能

  • 工作台:可视化编写SQL快速的对外发布成API接口,支持多SQL同时执行、Mybatis标签语法,实现动态SQL和动态标签
  • 数据源管理:动态加载数据库,支持多种SQL/NoSQL数据库。
  • 应用列表:Code认证、签名认证的应用创建管理以及对API调用在线授权。
  • 接口列表:查看开发中和已发布的API接口,可进行上下线管理,编辑升级等
  • 接口日志:查看发布的接口被调用日志列表和请求详情。

模块

cn.crabc    
├── crabc-boot               // 业务模块
│     └── crabc-admin        // 启动模块
│     └── crabc-core        // 基础模块
│           └── static       // 前端静态页面 [9377]
│     └── crabc-datasource   // 数据源加载模块
│     └── crabc-spi          // 插件定义模块
├── crabc-spring-boot-starter // 第三方项目maven集成依赖包
├── db                       // SQL脚本
├──pom.xml                   // 依赖

版本说明

dev分支框架SpringBoot已升级至3.x,jdk需17及以上版本
2.x分支框架SpringBoot还是2.x

运行启动

1、先执行db/dml.sql脚本,创建库表和初始化数据
2、在编辑工具中运行启动 crabc-admin/ AdminApplication.java

访问地址:http://127.0.0.1:9377
账号密码:admin/admin123

官网

官网:https://www.crabc.cn/
使用指南:https://www.crabc.cn/introduction/
github:https://github.com/pingapi/crabc-api

商用授权

已申请软件著作,开源版仅供个人学习使用
企业版功能更强大,商用请加群联系\

源码地址

github: https://github.com/pingapi/crabc-api
gitee: https://gitee.com/linebyte/crabc

Maven集成crabc-api

<dependency>
    <groupId>cn.crabc</groupId>
    <artifactId>crabc-spring-boot-starter</artifactId>
    <version>3.2.0</version>
</dependency>

在程序启动类中添加下面注解

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

集成Demo参考: crabc-spring-boot-starter-demo

Docker启动

先执行db/dml.sql脚本,创建库表和初始化数据,建议mysql 8.0+版本

docker pull crabc/crabc-admin:latest
docker run -p 9377:9377 --env db_url=jdbc连接(如:jdbc:mysql://localhost:3306/crabc) --env db_user=数据库用户 --env db_pwd=数据库密码 -d --name crabc-admin crabc/crabc-admin:latest

访问地址:http://127.0.0.1:9377 账号密码:admin/admin123

企业版和开源版对比

功能 社区版 企业版
架构设计 单体 微服务
接口创建模式 SQL脚本 SQL脚本、图表、代理转发
动态标签 支持 支持
动态路由 不支持 支持
数据库 SQL:mysql/oracle/postgresql/sqlserver
TiDB/OpenGauss/Doris
SQL:mysql/oracle/postgresql/sqlserver/tidb
/opengauss/doris/oceanbase/dm/gbase
NoSQL:es/mongodb
TSDB: TDengine
认证方式 无/Code认证/签名认证 无/Code认证/签名认证
SQL类型 查询SQL 查询/插入/更新/删除等SQL
结果类型 json json
接口日志 支持 支持
数据转换 不支持 支持
接口市场 不支持 支持
申请审批 不支持 支持
接口授权 不支持 支持
系统权限 不支持 支持
用户管理 不支持 支持
数据脱敏 不支持 支持
版本管理 不支持 支持
接口缓存 不支持 支持
限流熔断 仅限流 限流和熔断
IP黑白名单 不支持 支持
监控报表 支持 支持
集群模式 不支持 支持

效果截图

接口开发

img.png

接口属性

img.png

请求参数

img.png

在线预览

img_2.png

接口列表

img.png

数据库类型

img.png

限流熔断

img.png

产品使用登记

以下为部分接入crabc-api的用户 , 点击进行登记

公司机构
联通集团西部分公司
青岛巴士科技有限公司
阳光智维科技股份有限公司
一步数据科技有限公司
成都像素云图科技有限公司

交流群

进群前请先点 Star

加微信进群 (备注crabc) img.png

crabc-api's People

Contributors

pingapi avatar iamyuqf avatar itxtl avatar zhaohp550877134 avatar

Stargazers

JinsYin avatar  avatar  avatar bulolo avatar zhengkai avatar Not Just Big avatar samuelhsin avatar MoncyXu avatar LiuJian avatar Alaia avatar Jony avatar Edward Xie avatar McCall avatar That's all mean to be.! avatar RestDay avatar  avatar Yashon avatar  avatar Misaya295 avatar  avatar  avatar nextify avatar yufei avatar dm avatar Yibo avatar 星 avatar Leo_chen avatar  avatar nidiya avatar Ricado avatar ludongrong avatar  avatar  avatar Taketoday avatar  avatar liudonghua avatar Elaina avatar  avatar  avatar  avatar BT-BOX avatar  avatar  avatar  avatar  avatar kernelmix avatar Holata Seminole avatar HelloBagus avatar  avatar xugaofeng avatar  avatar  avatar 岁聿云暮。 avatar 芈氓 avatar gzsboy avatar JoinWe avatar Nathan.Zhou avatar  avatar zhangqiang avatar  avatar caofuguo avatar  avatar 咸鱼有点咸 avatar  avatar  avatar  avatar Martin Yuan avatar Jayke.Lin avatar  avatar hucsmn avatar hezkvectory avatar  avatar  avatar 马志宏 avatar moke avatar Karen avatar kmx avatar yu avatar renxian avatar  avatar  avatar wuhaohao1234 avatar luckzh avatar dousha avatar buffer avatar 叶俊青 avatar  avatar  avatar  avatar Works avatar  avatar wick huang avatar  avatar  avatar  avatar 李森林 avatar Fools avatar Cai XinXin avatar  avatar wesly avatar

Watchers

nidiya avatar  avatar  avatar  avatar

crabc-api's Issues

通过docker pull crabc/crabc-admin:latest拉取的镜像中没有包含Java 11 运行时

通过docker pull crabc/crabc-admin:latest拉取的镜像中没有包含Java 11 运行时,
运行docker run -p 9377:9377 --env db_url=jdbc:mysql://127.0.0.1:3366/crabc --env db_user=root --env db_pwd=111 -d --name crabc-admin crabc/crabc-admin:latest 在拉起镜像时,会提示以下错误:

~/crabc$ sudo docker logs crabc-admin
Exception in thread "main" java.lang.UnsupportedClassVersionError: cn/crabc/core/admin/AdminApplication has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.