所有文章 > API设计 > 如何快速搭建自己的API平台(运维必备)

如何快速搭建自己的API平台(运维必备)

在工作中,我们需要将数据库中的数据以api接口的形式返回json数据。这需要根据实际情况写相关的接口。不同的平台,选择的语言不尽相同。那么有没有更加简单的方法呢?

关于

DBAPI是一个面向数仓开发人员的低代码工具,只需在页面上编写sql,并配置好参数,就可以自动生成http接口。它可以帮助程序员快速的开发后端数据接口,尤其适用于BI报表、数据可视化大屏的后端接口开发。

安装

本文以安装个人版为例。首先下载项目包到服务器。

wget http://img.51dbapi.com/dbapi/dbapi-4.0.10-bin.tar.gz
tar -xvf dbapi-4.0.10-bin.tar.gz

接下来,修改conf/application.properties文件中的以下配置,官方示例如下

# api访问路径的统一根路径,example: http://192.168.xx.xx:8520/api/xxx
# api context
dbapi.api.context=api

# 如果不修改数据库地址将默认使用自带的内嵌元数据库sqlite
# 元数据库地址,可以使用mysql或者自带的sqlite
spring.datasource.dynamic.datasource.meta-db.driver-class-name=org.sqlite.JDBC
spring.datasource.dynamic.datasource.meta-db.url=jdbc:sqlite::resource:sqlite.db
spring.datasource.dynamic.datasource.meta-db.username=
spring.datasource.dynamic.datasource.meta-db.password=

# 将API访问日志写入日志数据库(推荐clickhouse)的方式,值只能是db/kafka/null
# db代表dbapi直连日志数据库,直接将API访问日志写入日志数据库
# kafka代表dbapi将API访问日志写入kafka,用户需要自行从kafka收集日志写入日志数据库
# null代表dbapi只会将API访问日志写入本地磁盘文件(logs/dbapi-access.log),用户需要自行从磁盘文件收集日志写入日志数据库
access.log.writer=null

# 日志数据库地址,推荐使用clickhouse,如果您不需要使用页面上的监控功能,可以不配置日志数据库地址
spring.datasource.dynamic.datasource.access-log-db.driver-class-name=ru.yandex.clickhouse.ClickHouseDriver
spring.datasource.dynamic.datasource.access-log-db.url=jdbc:clickhouse://127.0.0.1:8123/default
spring.datasource.dynamic.datasource.access-log-db.username=default
spring.datasource.dynamic.datasource.access-log-db.password=123456

# 如果配置了access.log.writer=kafka,那么还需要配置kafka地址和日志写入的topic
access.log.kafka.topic=dbapi_access_log
spring.kafka.bootstrap-servers=127.0.0.1:9092

激活

这里我用的个人版,在bin目录下执行命令。

./dbapi.sh start standalone

然后在https://support.51dbapi.com/#/free激活。

将许可证放到conf/key.properties中。并启动

访问http://192.168.xx.xxx:8520/

初始密码admin

使用

配置数据源

新建分组

为了后期方便管理api,我们新建一个分组。在分组上点击创建API按钮,进入创建API页面

点击基本信息,填写API基础信息

API发布

点击API上的更多按钮,展开了上线按钮,点击上线按钮发布API

配置Token

为了数据安全,我们需要给api添加Token。点击客户端后,根据实际情况添加权限。

并记录ClientidSecret的值。在api测试页面,输入上面的值获取Token。

最后点击测试,便可以返回json数据了。

本文章转载微信公众号@kali笔记

#你可能也喜欢这些API文章!