我在 application express(apex) 中使用 oracle rest 数据服务。 我需要知道如何更新/插入数据库,使用 Json 格式的 http 请求。其实我需要知道的,
请求是来自REST客户端的Json格式请求,
{
"items" : [
{"PROJECTID" : 1},
{"PROJ_NAME" : "rest"},
{"PROJ_CLIENT" : "Sam"}
],
"hasMore" : false
}
如何在顶点插入/更新数据库,
begin
insert into projects(PROJECTID,PROJ_NAME,PROJ_CLIENT)
values (:PROJECTID,:PROJ_CLIENT,:PROJ_NAME);
commit;
end;
最佳答案
我找到了答案,这不容易做到。首先我们需要获取请求的主体。这可以使用 body (:body) 的绑定(bind)变量来完成。但是这个主体变量是 blob 数据类型。
blob_body BLOB := :body;
然后将其转换为 CLOB 变量,
clob_variable CLOB := convert_to_clob(blob_body);
现在最简单的抽象方法是转换为“varchar2”并使用像 PL/JSON 这样的库来提取 json 中的数据。
关于使用 JSON 的 Oracle Rest 数据服务 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28167526/