1、简介
StoreX是一个高性能、高可用、配置式、可扩展、容器化、开箱即用的BaaS(Backend as a Service)后端服务平台。平台提供了数据存储、身份验证、文件存储等后端服务,能够让开发人员专注于前端开发,而无需花费大量时间和精力来构建和维护后端基础设施,更快地构建产品。
下面我们用三分钟来尝试通过配置实现数据库表的CURD和复杂查询的API服务。
2、配置前准备
1)平台支持多种系统使用:window环境使用、linux环境使用,同时也支持docker容器部署。具体见《一分钟搭建StoreX平台》
2)提前准备好测试用数据库及数据。这里提供了MySQL数据库的测试数据脚本,包含test_user和test_class两张表结构及测试数据。
CREATE TABLE `test_user` ( `id` int NOT NULL, `age` int DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `class_id` int DEFAULT NULL, `create_time` datetime DEFAULT NULL, `create_by` varchar(255) DEFAULT NULL, `update_time` datetime DEFAULT NULL, `update_by` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
CREATE TABLE `test_class` ( `id` int NOT NULL, `class_name` varchar(255) DEFAULT NULL, `create_time` datetime DEFAULT NULL, `create_by` varchar(255) DEFAULT NULL, `update_time` datetime DEFAULT NULL, `update_by` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
插入几条数据
INSERT INTO test_tb (`id`, `age`, `name`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES (1, 12, 'Tom', '2024-09-20 14:03:34', 'admin', '2024-09-20 14:03:40', 'admin');
INSERT INTO test_tb (`id`, `age`, `name`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES (2, 14, 'Jack', '2024-09-20 14:03:34', 'admin', '2024-09-20 14:03:40', 'admin');
INSERT INTO test_tb (`id`, `age`, `name`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES (3, 21, 'Ana', '2024-09-20 14:03:34', 'admin', '2024-09-20 14:03:40', 'admin');
INSERT INTO test_tb (`id`, `age`, `name`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES (4, 24, 'Uma', '2024-09-20 14:03:34', 'admin', '2024-09-20 14:03:40', 'admin');
INSERT INTO test_class (`id`, `class_name`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES (1, '一班', '2024-09-20 14:39:13', 'admin', '2024-09-20 14:39:21', 'admin');
INSERT INTO test_class (`id`, `class_name`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES (2, '二班', '2024-09-20 14:39:13', 'admin', '2024-09-20 14:39:21', 'admin');
INSERT INTO test_class (`id`, `class_name`, `create_time`, `create_by`, `update_time`, `update_by`) VALUES (3, '三班', '2024-09-20 14:39:13', 'admin', '2024-09-20 14:39:21', 'admin');
3、配置式构建服务
3.1、登陆
进入 http://你的ip:17800/ 后,将会进入到登录界面。使用默认管理员用户登录,账号:admin,密码:123456
3.2、创建namespace
点击首页左上新增按钮,开始添加namespace
文件名,任意字符,比如test
命名空间,任意字符串(一般采用反写域名的形式),如com.siline,
确认保存后,在左侧树中会显示最新建立好的命名空间,点击命名空间,可以看到
com.siline.xxxx ├─ 配置 ├─ 存储服务 ├─ 查询服务 ├─ 扩展服务 ├─ Redis服务 └─ ElasticSearch
3.3、配置存储服务与查询服务
点击左侧树中对应命名空间下的“配置”项,右侧将展示属于该命名空间的具体内容。
1)展开此界面中的“配置”,进行数据库连接的设置项。
配置“数据库连接”配置如下:
- MySQL的写法:mysql://chimes:[email protected]:3306/gpark
- PostgreSQL的写法: postgresql://chimes:[email protected]::5432/gpark
- MSSQL Server的写法: jdbc:sqlserver://127.0.0.1::1433;User=chimes;Password={12345678};databaseName=gpark;trustservercertificate=true
数据库配置好后,点击保存按钮。
2)配置“存储服务”
完成上述配置后,展开界面中的存储服务。点击“添加存储对象”,后弹出对话框如下。
- Schema:对于MySQL,这里应该输入MySQL数据库的名称,对于PostgreSQL/Oracle,这里输入对应的Schema,对于SQL Server,这里应该输入dbo。
- Table: 可以不用输入,或者输入具体的表名。 然后,点击“查询”按钮,查询出表对象。注意,如果数据库连接配置错误,此处会报错。
- 点击确认后,会在存储服务列表看到对应的存储对象,如遇确认后列表没出现新增的存储对象,可刷新列表尝试。
3)配置“查询服务”
回到配置页面,配置复杂查询服务,即自定义sql查询服务。
如图所示,点击保存,在查询服务出现你的查询对象。
4、测试验证与使用
4.1、在StoreX平台中测试
平台内置了测试工具来执行相应功能的测试,配置完成后即可进行自测。
1)存储服务的测试
展开左侧树中的对应命名空间,接着展开“存储服务”,找到并点击所添加的存储对象。
此处自动生成了11个CRUD的方法,涵盖了存储对象所需要的各类操作。
//todo加一个11个方法的图片
比如:GET /api/object///find_one,执行后,则会在“接口调用响应”中,操作对应的返回值会显示出来。
注:测试界面中,把每一个方法的参数,以及调用方式都给出了详细的说明,同时包括了多种语言的调用方式的示例。
2)查询服务的测试
展开左侧树中的对应命名空间,接着展开“查询服务”,找到并点击所添加的查询对象。
此处自动生成了2个查询的方法,一个是查列表、一个是分页查询。
界面功能同“存储服务”的测试界面。
4.2、外部系统使用
到目前为止,数据服务接口已经配置完成,且完成了自测,可以提供给前端、小程序、IOT端进行使用。
我们以API接口测试工具(Apifox)举例:
1)测试“存储服务”
使用第三方测试工具Apifox进行测试,来验证我们的配置成果是否可以正常使用:
2)测试“查询服务”
使用第三方测试工具Apifox进行测试,来验证我们的配置成果是否可以正常使用:
验证成功,开始摸鱼,把精力投入前端展现与业务构建中。
标签:Stroex,手指,14,admin,create,09,update,time,快速 From: https://blog.csdn.net/weixin_37592360/article/details/142453139