【REST2SQL】10 REST2SQL操作指南

【REST2SQL】01RDB关系型数据库REST初设计
【REST2SQL】02 GO连接Oracle数据库
【REST2SQL】03 GO读取JSON文件
【REST2SQL】04 REST2SQL第一版Oracle版实现
【REST2SQL】05 GO 操作 达梦 数据库
【REST2SQL】06 GO 跨包接口重构代码
【REST2SQL】07 GO 操作 Mysql 数据库
【REST2SQL】08 日志重构增加输出到文件log.txt
【REST2SQL】09 给Go的可执行文件exe加图标和版本信息等

【REST2SQL】从设计到现学Go到实现,大约一个多月的时间,为了致敬费曼学习法(通过自己的语言,用最简单的话把一件事向别人讲清楚,并且让外行人也能听懂。)这一段时间输出了不少博文,主要目的是自己的学习过程记录一下。年龄大了脑子记不住了,需要的时候再回头看看。

【REST2SQL】10 REST2SQL操作指南_第1张图片

REST2SQL核心功能就是连接数据库即可提供REST和SQL的CRUD服务。在config.json里设置数据库连接字符串及服务端口等参数,REST服务提供POST、GET、PUT、DELETE4种请求,SQL服务可执行INSERT、SELECT、UPDATE、DELETE4种SQL语句;请求结果返回JSON字符串(以后加上JSON SCHEMA)。开启REST2SQL服务,后台数据服务基本能覆盖到了,可以作为后端服务单独部署。
REST2SQL可以作为内部开发的运维工具,也可以对外提供REST服务,后端开发再也没有CRUD重复开发的烦恼。

0 我的开发测试环境

项目 版本
操作系统 Windows 10 家庭中文版,4 位操作系统, 基于 x64 的处理器
编程语言 Go 1.21.5
Oracle Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
DM DM Database Server 64 V8 DB Version: 0x7000c
MySQL 8.0.35 MySQL Community Server - GPL x86_6 Win64
浏览器 Microsoft Edge 120.0.2210.133 (正式版本) (64 位)
Curl 8.0.1 (Windows) libcurl/8.0.1 Schannel WinIDN Release-Date: 2023-03-20
Postman December 2023 (v10.21)

1 REST2SQL文件

REST2SQL采用Go语言开发编译,只有4个文件,一个配置文件config.json,一个可执行文件rest2sql.exe,另外两个为操作指南。
【REST2SQL】10 REST2SQL操作指南_第2张图片

2 REST2SQL配置config.json

用记事本打开config.json可配置REST2SQL,最重要是的数据库连接字符串connString。文件内容如下:

{
	"hostPort":"localhost:5217",

	"connString":"mysql://blma:5217@(127.0.0.1:3306)/blma",

	"_oracle":"oracle://blma:[email protected]:1521/CQYH",
	"_dm":"dm://BLMA:[email protected]:5236/BLMA",
	"_mysql":"mysql://blma:5217@(127.0.0.1:3306)/blma",
	"_mssql":"mssql://",
	"_postgresql":"postgresql://",
	
	"REST":"GET,POST,PUT,DELETE", 
	"_REST":"GET,POST,PUT,DELETE", 

	"SQL":"SELECT",
	"_SQL":"SELECT,INSERT,UPDATE,DELETE"
	
}
  • hostPort 配置服务监听端口。
  • connString 配置数据库连接字符串,下面有_oracle、_dm、_mysql的配置范例,目前支持这三种数据库,以后还会扩展。
  • REST 配置可允许的REST请求,可在GET、POST、PUT、DELETE中选配,默认全部。
  • SQL 配置可允许执行的SQL语句,可在SELECT、INSERT、UPDATE、DELETE中选配,默认SELECT

3 启动REST2SQL服务

Windows系统下双击rest2sql.exe即可启动服务,启动成功后显示如下信息:
【REST2SQL】10 REST2SQL操作指南_第3张图片
第一行为当前启动的配置信息,第二行为监听启动成功。

2024/01/12 10:57:32 config:{mysql mysql://blma:5217@(127.0.0.1:3306)/blma localhost:5217 GET,POST,PUT,DELETE SELECT}
2024/01/12 10:57:32 Starting Http Server at localhost:5217

关闭此控制台窗口就停止提供服务。

4 REST请求操作

config.json文件里,配置 REST项,可以开启REST服务请求。只支持GET、POST、PUT、DELETE请求,可以设置0-4个请求,0个就是关闭REST请求。

	"REST":"GET,POST,PUT,DELETE", 
	"_REST":"GET,POST,PUT,DELETE", 

4.1 GET请求

get请求支持where和orderby查询条件。

1.curl请求

curl http://127.0.0.1:5217/rest/kezz
curl http://127.0.0.1:5217/rest/kezz/?where=n_zzxj%3E300
curl http://127.0.0.1:5217/rest/kezz/?orderby=p_id
curl http://127.0.0.1:5217/rest/kezz/?where=n_zzxj%3E300&orderby=p_id
curl http://127.0.0.1:5217/rest/kezz/?orderby=p_id&where=n_zzxj%3E300

【REST2SQL】10 REST2SQL操作指南_第4张图片

2. edge浏览器请求

【REST2SQL】10 REST2SQL操作指南_第5张图片

3.Postman请求
【REST2SQL】10 REST2SQL操作指南_第6张图片

4.2 POST请求

POST请求,url定位要请求的表,在加上data即可。

1.Postman请求
【REST2SQL】10 REST2SQL操作指南_第7张图片

2.curl请求
注意windows 10的curl 双引号""需要转义\

curl  -X POST http://127.0.0.1:5217/rest/kezz  --data {\"p_id\":-300,\"s_dm\":\"200300\",\"s_mc\":\"REST3\"}

【REST2SQL】10 REST2SQL操作指南_第8张图片

4.3 PUT请求

url加where定位要更新的记录。
1.Postman请求
【REST2SQL】10 REST2SQL操作指南_第9张图片

2.curl请求

curl  -X PUT http://127.0.0.1:5217/rest/kezz/?where=p_id=-200  --data {\"s_mc\":\"CURL\"}

【REST2SQL】10 REST2SQL操作指南_第10张图片

4.4 DELETE请求

url加where定位要删除的记录。
1.Postman请求
【REST2SQL】10 REST2SQL操作指南_第11张图片

2.curl请求

curl  -X DELETE http://127.0.0.1:5217/rest/kezz/?where=p_id=-200 

【REST2SQL】10 REST2SQL操作指南_第12张图片

5 SQL执行操作

config.json文件里,配置 SQL项,可以开启SQL服务请求。只支持SELECT,INSERT,UPDATE,DELETE请求,可以设置0-4个请求,0个就是关闭SQL请求。
默认设置只能执行SELECT。
URL栏可以直接输入SQL即可执行。

5.1 执行SELECT语句

http://127.0.0.1:5217/sql/select * from kezz

【REST2SQL】10 REST2SQL操作指南_第13张图片

5.2 执行INSERT语句

http://127.0.0.1:5217/sql/insert into kezz (p_id,s_dm,s_mc) values (-400,'400400','SQL')

【REST2SQL】10 REST2SQL操作指南_第14张图片

5.3 执行UPDATE语句

http://127.0.0.1:5217/sql/update%20kezz%20set%20s_mc='update'%20where%20p_id%20=%20-400

【REST2SQL】10 REST2SQL操作指南_第15张图片

5.4 执行DELETE语句

http://127.0.0.1:5217/sql/delete%20from%20kezz%20where%20p_id=-400

【REST2SQL】10 REST2SQL操作指南_第16张图片

6 资源下载

REST2SQL实现连接数据库,数据库的表或视图即可提供REST的GET\POST\PUT\DELETE请求,SQL可执行SQL
https://download.csdn.net/download/sufuq/88684853

你可能感兴趣的:(REST2SQL,数据库,golang,REST,SQL,web服务)