database2api 是一款强大而便捷的工具,主要功能是依据现有的数据库自动生成开放的 API 接口,能够为开发者大幅节省时间与精力,尤其适用于那些已拥有数据库且需要提供 API 接口,或者仅会构建数据库、而需要迅速实现 API 接口的场景。

下载地址

链接: https://pan.baidu.com/s/17KsgASU90CkDLP9ppIzGCQ?pwd=w5er

目录结构

│  database2api.jar  <-- 主程序(必选)
└─ data
     └─ ext          <-- 扩展 API 放置目录(可选)
     └─ web          <-- 静态文件目录(可选)
     └─ setting.ini  <-- 配置文件(必选)

简单使用

配置

# API 默认端口
API_PORT=8080
# 生成API的前缀,如设置 api/v1 后,则API变为:http://localhost:{PORT}/api/v1/xxxxxx
API_PREFIX=api
# 是否启用 API 文档,地址 http://localhost:{PORT},设为 false 不会生成 API 文档
API_INDEX_ENABLED=true
# 是否启用接口授权访问功能,默认false,所有 API 无需授权认证即可访问
API_AUTH_ENABLED=false
# 接口授权访问,支持:Basic, JWT, Bearer。(以后可能会支持其他的授权认证方式)
API_AUTH_TYPE=JWT
# 接口允许访问的用户名密码列表
API_AUTH_USERS=admin:123456,user:1234
# Bearer 授权时应配置为[tag:token],tag表示这个token的归属,tag可为空(冒号不能省略)。
# API_AUTH_USERS=A公司:123,B公司:456,:789
# 数据库默认链接地址(主要需要这里的数据库连接字符串,其他数据库连接字符串样例在下方)
DB_URL=jdbc:sqlite://G:/database2api-test/sqlite/fqb.db
# 数据库用户名
DB_USER=
# 数据库密码
DB_PWD=
# 生成API的数据表名称,为空则所有的表都生成API,多个使用英文逗号分割
INCLUDE_TABLES=
# 需要忽略的数据表名称,如果不为空,则指定的表名被过滤,多个使用英文逗号分割
IGNORED_TABLES=
# 是否启用静态网站,启用后,则创建web目录,放入静态资源即可访问
STATIC_WEB_ENABLED=true
# 是否开启扩展API,允许用户使用JS代码使用自定义SQL查询数据库
EXT_API_ENABLED=true
# 是否开启表结构API,默认为false
SCHEMA_API_ENABLED=false
# 是否开启GET类API缓存,默认为true
GET_API_CACHE=true
# GET类API缓存时间,默认30s
GET_API_CACHE_TIMEOUT=30000

启动

java -jar database2api.jar

启动成功后目录结构变为:

│  database2api.jar
└─ data
     │  setting.ini
     │  tables.json      <-- 这是数据库中所有的表名称,下次启动时不会从数据库重新获取,直接使用此文件。如数据库已更新,则删除此文件
     │  table_names.json <-- 这是数据库中所有表结构,下次启动时不会从数据库重新获取,直接使用此文件。如数据库已更新,则删除此文件
     └─ ext              <-- 扩展 API 放置目录(可选)
     └─ web              <-- 静态文件目录(可选)
         └─ index.html   <-- 这是静态网页默认首页