Oracle REST 数据服务 (ORDS) 的 AutoREST 功能,该功能允许您将表和视图等自动公开为 RESTful Web 服务。这个太好可不用自己费劲巴拉的定义RESTful数据服务了。
1 先准备测试数据表
登录APEX现在开发平台 [https://apex.oracle.com/pls/apex/r/apex/workspace-sign-in](https://apex.oracle.com/pls/apex/r/apex/workspace-sign-in)
1.1创建测试表B5217
找到【SQL工作室】-【SQL命令】依次执行以下脚本,注意每次只能选中一行执行
CREATE TABLE "B5217"
( "F_GP" VARCHAR2(17) NOT NULL ENABLE,
"S_MC" VARCHAR2(17) NOT NULL ENABLE,
"N_DSP" NUMBER(17,4),
"S_RXR" VARCHAR2(17),
"S_DCR" VARCHAR2(17),
"K_DM" VARCHAR2(17),
"K_MC" VARCHAR2(17),
"N_ZZXJ" NUMBER(17,4),
"F_NEW" VARCHAR2(17),
CONSTRAINT "B5217_PK" PRIMARY KEY ("F_GP")
USING INDEX ENABLE
) ;
COMMENT ON COLUMN "B5217"."F_GP" IS '股票代码';
COMMENT ON COLUMN "B5217"."S_MC" IS '股票名称';
COMMENT ON COLUMN "B5217"."N_DSP" IS '股票收盘价';
COMMENT ON COLUMN "B5217"."S_RXR" IS '入选日';
COMMENT ON COLUMN "B5217"."S_DCR" IS '调出日';
COMMENT ON COLUMN "B5217"."K_DM" IS '可转债代码';
COMMENT ON COLUMN "B5217"."K_MC" IS '可转债名称';
COMMENT ON COLUMN "B5217"."N_ZZXJ" IS '可转债最新价';
COMMENT ON COLUMN "B5217"."F_NEW" IS '新晋调出';
COMMENT ON TABLE "B5217" IS '测试5217表';
打开【SQL工作室】-【对象浏览器】可以看到B5217表创建成功
1.2 插入几行测试数据
一次执行以下脚本即可
insert into B5217 (f_gp,s_mc) values ('600600','沪市');
insert into B5217 (f_gp,s_mc) values ('000900','深市');
insert into B5217 (f_gp,s_mc) values ('005217','白龙马');
insert into B5217 (f_gp,s_mc) values ('600519','贵州茅台');
对象浏览器查询数据
2启用RESTful
打开【SQL工作室】-【RESTful服务】-【RESTful数据服务】-【已启用对象】-【创建AutoREST对象】
接下表B5217启用AutoREST
复制以下URL然后【创建】,已启动对象里就有了B5217
至此,AutoREST服务已启用,解下来是见证奇迹的时间,表B5217的GET、POST、PUT、DELETE请求方法都可以用了,分别对应对表的查询、插入、更新、删除操作。
3 测试一下神奇的AutoREST
3.1 GET请求
复制URL剪贴到浏览器的地址栏,回车,返回JSON格式的请求结果。
是不是很哇塞!
您也可以加上查询条件,如果是主键直接这样
https://apex.oracle.com/pls/apex/blma/b5217/600519
其它字段查询也可以比如:
https://apex.oracle.com/pls/apex/blma/b5217/?q={"s_mc":"白龙马"}
--数值型可以用比较运算符
https://apex.oracle.com/pls/apex/blma/b5217/?q={"n_dsp":{"$gte":600}}
等等
3.2 POST请求
插入一条记录试试,用POSTMAN工具 https://www.toolscat.com/dev/postman
对象浏览器查查看,数据插入成功。
3.3 PUT请求
修改五粮液的价格试试
对象浏览器查查看,数据修改成功。
3.4 DELETE请求
删除五粮液试试
对象浏览器查查看,数据删除成功。
另也和GET请求一样,也可以用查询条件删除。
https://apex.oracle.com/pls/apex/blma/b5217/?q={"n_dsp":50}
4 除了表以外,视图,过程、函数、程序包等也可以AutoREST
先到这里吧,下课!以后有时间再慢慢研究吧。