如何在 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;