gpt4 book ai didi

oracle - 使用 PL/SQL 从 Apex Web 服务响应中获取响应头

转载 作者:行者123 更新时间:2023-12-04 00:34:43 27 4
gpt4 key购买 nike

我必须获取我的“apex_web_service.make_rest_request”请求的响应头。

我知道使用“UTL_HTTP”包是可能的,如此处所述:https://docs.oracle.com/database/121/ARPLS/u_http.htm#BHAHDHHB

但是我怎么能用“apex_web_service”做到这一点?甚至有可能吗,因为我在本文档中找不到它? http://docs.oracle.com/database/121/AEAPI/apex_web_service.htm#AEAPI537

预先感谢您的回答!

最佳答案

好的,我现在找到了。答案可以在这里找到:http://docs.oracle.com/database/121/AEAPI/apex_web_service.htm#AEAPI1933

没有“get_Header()”之类的东西。您设置 header 并发送请求(此处为示例代码):

--Set Request Headers
apex_web_service.g_request_headers(1).name := 'Authorization';
apex_web_service.g_request_headers(1).value := '[MY API TOKEN]';
apex_web_service.g_request_headers(2).name := 'Content-Type';
apex_web_service.g_request_headers(2).value := 'application/json';
apex_web_service.g_request_headers(3).name := 'Content-Length';
apex_web_service.g_request_headers(3).value := '[CONTENT LENGTH IN BYTES OF REQUEST BODY]';

l_lcResult := apex_web_service.make_rest_request(p_url => 'MY API URL'
,p_http_method => 'POST'
,p_body => 'REQUEST BODY IN JSON FORMAT');

请求后, header 自动“更改”为响应 header 。您可以按如下方式获取响应 header :
for i in 1.. apex_web_service.g_headers.count loop
l_vcHeaderName := apex_web_service.g_headers(i).name;
l_vcHeaderValue := apex_web_service.g_headers(i).value;
end loop;

如果您正在搜索特定的响应 header (像我一样),您可以使用:
 --Here we search for the header-field called 'Location'    
for i in 1.. apex_web_service.g_headers.count loop
l_vcHeaderName := apex_web_service.g_headers(i).name;
l_vcHeaderValue := apex_web_service.g_headers(i).value;

exit when l_vcHeaderName = 'Location';
end loop;

dbms_output.put_line('Name: ' || l_vcHeaderName);
dbms_output.put_line('Value: ' || l_vcHeaderValue);

关于oracle - 使用 PL/SQL 从 Apex Web 服务响应中获取响应头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45714313/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com