如何在 Oracle REST 数据服务中编程响应
How to Program respond in Oracle REST Data Services
我正在使用 Oracle 剩余数据服务。所以我需要编写一个对特定请求的响应。例如,
我在应用程序 Express ORDS 中收到请求,
request_body BLOB:= :body;
现在我需要为此请求创建一个响应。喜欢,
respond('application express ok'); // this sends to the client
谢谢!
我找到了答案,这可以通过这种方式完成,
begin
htp.p('your textual content as respond body');
end
使用上面的语法可以创建响应主体。
您还应该提供文档类型和状态代码(以及您能想到的任何其他 headers。
示例:
JSON:
begin
owa_util.status_line (200, '', false);
owa_util.mime_header ('application/json', true);
htp.prn ('{"status":"everything is a ok"}');
end;
正文:
begin
owa_util.status_line (200, '', false);
owa_util.mime_header ('text/plain', true);
htp.prn ('everything is a ok');
end;
还有一个更大的例子,使用 headers:
declare
l_response varchar2 (32767);
begin
l_response := '<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Response</title>
</head>
<body>
<h2>Thank you for submitting</h2>
</body>
</html>';
owa_util.status_line (200, '', false);
htp.p ('Content-Type: text/html; charset="iso-8859-1"');
htp.p ('Content-length: ' || trim (to_char (length (l_response), '999999999999999999')));
owa_util.http_header_close;
htp.prn (l_response);
end;
我正在使用 Oracle 剩余数据服务。所以我需要编写一个对特定请求的响应。例如,
我在应用程序 Express ORDS 中收到请求,
request_body BLOB:= :body;
现在我需要为此请求创建一个响应。喜欢,
respond('application express ok'); // this sends to the client
谢谢!
我找到了答案,这可以通过这种方式完成,
begin
htp.p('your textual content as respond body');
end
使用上面的语法可以创建响应主体。
您还应该提供文档类型和状态代码(以及您能想到的任何其他 headers。
示例: JSON:
begin
owa_util.status_line (200, '', false);
owa_util.mime_header ('application/json', true);
htp.prn ('{"status":"everything is a ok"}');
end;
正文:
begin
owa_util.status_line (200, '', false);
owa_util.mime_header ('text/plain', true);
htp.prn ('everything is a ok');
end;
还有一个更大的例子,使用 headers:
declare
l_response varchar2 (32767);
begin
l_response := '<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Response</title>
</head>
<body>
<h2>Thank you for submitting</h2>
</body>
</html>';
owa_util.status_line (200, '', false);
htp.p ('Content-Type: text/html; charset="iso-8859-1"');
htp.p ('Content-length: ' || trim (to_char (length (l_response), '999999999999999999')));
owa_util.http_header_close;
htp.prn (l_response);
end;