14技术太卷我学APEX-RESTful服务全自动Autorest

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命令】依次执行以下脚本,注意每次只能选中一行执行

14技术太卷我学APEX-RESTful服务全自动Autorest_第1张图片

 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表创建成功

14技术太卷我学APEX-RESTful服务全自动Autorest_第2张图片

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','贵州茅台');

对象浏览器查询数据
14技术太卷我学APEX-RESTful服务全自动Autorest_第3张图片

2启用RESTful

打开【SQL工作室】-【RESTful服务】-【RESTful数据服务】-【已启用对象】-【创建AutoREST对象】
14技术太卷我学APEX-RESTful服务全自动Autorest_第4张图片
接下表B5217启用AutoREST
14技术太卷我学APEX-RESTful服务全自动Autorest_第5张图片
复制以下URL然后【创建】,已启动对象里就有了B5217
14技术太卷我学APEX-RESTful服务全自动Autorest_第6张图片
至此,AutoREST服务已启用,解下来是见证奇迹的时间,表B5217的GET、POST、PUT、DELETE请求方法都可以用了,分别对应对表的查询、插入、更新、删除操作。

3 测试一下神奇的AutoREST

3.1 GET请求

复制URL剪贴到浏览器的地址栏,回车,返回JSON格式的请求结果。

14技术太卷我学APEX-RESTful服务全自动Autorest_第7张图片
是不是很哇塞!
您也可以加上查询条件,如果是主键直接这样

https://apex.oracle.com/pls/apex/blma/b5217/600519

14技术太卷我学APEX-RESTful服务全自动Autorest_第8张图片
其它字段查询也可以比如:

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
14技术太卷我学APEX-RESTful服务全自动Autorest_第9张图片
对象浏览器查查看,数据插入成功。

14技术太卷我学APEX-RESTful服务全自动Autorest_第10张图片

3.3 PUT请求

修改五粮液的价格试试
14技术太卷我学APEX-RESTful服务全自动Autorest_第11张图片
对象浏览器查查看,数据修改成功。
14技术太卷我学APEX-RESTful服务全自动Autorest_第12张图片

3.4 DELETE请求

删除五粮液试试
14技术太卷我学APEX-RESTful服务全自动Autorest_第13张图片
对象浏览器查查看,数据删除成功。
14技术太卷我学APEX-RESTful服务全自动Autorest_第14张图片
另也和GET请求一样,也可以用查询条件删除。

https://apex.oracle.com/pls/apex/blma/b5217/?q={"n_dsp":50}

14技术太卷我学APEX-RESTful服务全自动Autorest_第15张图片
14技术太卷我学APEX-RESTful服务全自动Autorest_第16张图片

4 除了表以外,视图,过程、函数、程序包等也可以AutoREST

先到这里吧,下课!以后有时间再慢慢研究吧。

你可能感兴趣的:(Oracle,APEX,Oracle,restful,后端)