【问题标题】:ORACLE APEX web service p_body_blobORACLE APEX Web 服务 p_body_blob
【发布时间】:2021-06-06 18:57:32
【问题描述】:

我正在寻找一个将请求正文中的 json 文件传递​​给 apex_web_service.make_rest_request 的示例 有人可以给我举个例子吗?

谢谢, 研发

【问题讨论】:

    标签: oracle rest oracle-apex


    【解决方案1】:

    我看到了两种通过 apex_web_service.make_rest_request 发送文件的方法。在我的示例中,我使用了从表 SAMPLE_TABLEBLOB_LOGO 检索到的图像文件 blob。

    选项1:

    将查询中的文件 blob 类型直接缓存到 blob 对象中,并通过 p_body_blob 参数发送

    DECLARE 
        obj_sample SAMPLE_TABLE%ROWTYPE;     
        file_blob blob;
        l_response clob;
    BEGIN 
        -- query
        select * INTO obj_sample 
        from SAMPLE_TABLE where ID = 123;
    
        -- file as blob
        file_blob := obj_sample.BLOB_LOGO; 
    
        l_response   := apex_web_service.make_rest_request(
            p_url           => 'url/to/api/',
            p_http_method   => 'POST',
            p_body_blob     => file_blob,
            p_proxy_override => 'url/to/proxy'
        );
        dbms_output.put_line(l_response);
    END;
    

    选项 2:

    首先将文件 blob 数据类型转换为 base64 clob 对象,并通过 p_body 参数将其作为 json body (clob) 发送

    DECLARE 
        obj_sample SAMPLE_TABLE%ROWTYPE; 
        json_sample clob; 
        file_clob clob;
        l_response clob;
    BEGIN 
        -- query
        select * INTO obj_sample 
        from SAMPLE_TABLE where ID = 123;
    
        -- file as clob
        file_clob := apex_web_service.blob2clobbase64(obj_sample.BLOB_LOGO); 
        json_sample := json_object(
            'SAMPLE_LOGO' value img_clob
        );
    
        apex_web_service.g_request_headers(1).name := 'Content-Type';
        apex_web_service.g_request_headers(1).value := 'application/json';
        l_response   := apex_web_service.make_rest_request(
            p_url           => 'url/to/api/',
            p_http_method   => 'POST',
            p_body          => json_sample,
            p_proxy_override => 'url/to/proxy'
        );
        dbms_output.put_line(l_response);
    END;
    

    docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 2015-09-16
      • 1970-01-01
      • 2014-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多