【REST2SQL】10 REST2SQL操作指南

7 篇文章 0 订阅

【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核心功能就是连接数据库即可提供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
OracleOracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
DMDM Database Server 64 V8 DB Version: 0x7000c
MySQL8.0.35 MySQL Community Server - GPL x86_6 Win64
浏览器Microsoft Edge 120.0.2210.133 (正式版本) (64 位)
Curl8.0.1 (Windows) libcurl/8.0.1 Schannel WinIDN Release-Date: 2023-03-20
PostmanDecember 2023 (v10.21)

1 REST2SQL文件

REST2SQL采用Go语言开发编译,只有4个文件,一个配置文件config.json,一个可执行文件rest2sql.exe,另外两个为操作指南。
在这里插入图片描述

2 REST2SQL配置config.json

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

{
	"hostPort":"localhost:5217",

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

	"_oracle":"oracle://blma:5217@127.0.0.1:1521/CQYH",
	"_dm":"dm://BLMA:dameng5217@127.0.0.1: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",
	
	"AccessControlAllowOrigin":"http://127.0.0.1:5500"
}
  • hostPort 配置服务监听端口。
  • connString 配置数据库连接字符串,下面有_oracle、_dm、_mysql的配置范例,目前支持这三种数据库,以后还会扩展。
  • REST 配置可允许的REST请求,可在GET、POST、PUT、DELETE中选配,默认全部。
  • SQL 配置可允许执行的SQL语句,可在SELECT、INSERT、UPDATE、DELETE中选配,默认SELECT
  • AccessControlAllowOrigin 配置跨域访问的url

3 启动REST2SQL服务

Windows系统下双击rest2sql.exe即可启动服务,启动成功后显示如下信息:
在这里插入图片描述
第一行为当前启动的配置信息,第二行为监听启动成功。

2024/01/12 10:57:32 config:{mysql mysql://blma:5217@(127.0.0.1:3306)/blma localhost:5217 GET,POST,PUT,DELETE SELECT http://127.0.0.1:5217}
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

在这里插入图片描述

2. edge浏览器请求

在这里插入图片描述

3.Postman请求
在这里插入图片描述

4.2 POST请求

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

1.Postman请求
在这里插入图片描述

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\"}

在这里插入图片描述

4.3 PUT请求

url加where定位要更新的记录。
1.Postman请求
在这里插入图片描述

2.curl请求

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

在这里插入图片描述

4.4 DELETE请求

url加where定位要删除的记录。
1.Postman请求
在这里插入图片描述

2.curl请求

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

在这里插入图片描述

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 where s_zgdm = '603901'

在这里插入图片描述

5.2 执行INSERT语句

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

在这里插入图片描述

5.3 执行UPDATE语句

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

在这里插入图片描述

5.4 执行DELETE语句

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

在这里插入图片描述

6 资源下载

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

  • 20
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值