【问题标题】:ORDS RESTful oracle-apex - A formulate JSON response (POST method)ORDS RESTful oracle-apex - 一种公式化 JSON 响应(POST 方法)
【发布时间】:2020-07-29 19:54:54
【问题描述】:

我是 oracle-apex 和 ORDS 的新手。 我的问题是: 当我试图在 oracle apex 上构建 RESTful Web 服务时,来自 一个过程,并使用:

    l_response := apex_web_service.make_rest_request(
        p_url =>l_rest_url,
        p_http_method => 'POST',
        p_body => l_request_body
    );

来自提出请求。

在 ORDS 处理程序定义上,我定义了:

declare
 l_response_body clob;
begin
l_response_body := '{"conf_code":"'||sys_guid()|| '","status":"APPROVED"}';

INSERT INTO JSON_TIMECARD_APPROVAL (id, json_data)
VALUES (sys_guid(),l_response_body);

:xxResponse :=l_response_body;

当 xxResponse 被定义为 OUT 参数时 和源类型:RESPONSE。

我很想得到 JSON 格式的响应。

当我尝试调用我的网络服务时(我的网络 API https://apex.oracle.com/pls/apex/eliranhaa/timecards/approval/)the. 参数输入:

p_body = 
{"timecard": [
  {
    "timecard_id":214804582301489177025033231688226094978
    ,"employee_id":214804582301403343291840593016821956482
    ,"week_of":"2020-18-03T00:00:00Z"
  }
  ]
}

The Outcome: 
{"DATA":"{\"conf_code\":\"A3695DE33828CA50E0530C4072644591\",\"status\":\"APPROVED\"}"}

我不知道为什么结果返回为字符串而不是 Json 格式(响应返回为 CLOB 类型)。

我有来自 web api 的参考 https://apex.oracle.com/pls/apex/timecards/timecard/approval/ 顺便说一下,这个结果就是我想要的网络服务。

Tnx 伊莱兰

【问题讨论】:

    标签: web-services oracle-apex


    【解决方案1】:

    突出的第一件事是您调用了两次sys_guid。您不想返回与您插入的值相同的值吗?

    我不知道为什么结果返回为字符串而不是 Json 格式

    您看到的是您的 JSON 数据被不正确地转义,因为您试图将单个 JSON 值作为输出。请尝试将其拆分。

    例如,我创建了一个如下所示的处理程序:

    这是我认为您正在寻找的响应(见第 12 行):

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-12
      • 2018-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多