您如何 return 来自 ORDS REST 端点的纯文本字符串?

How do you return a plain text string from an ORDS REST endpoint?

在 Oracle Rest Data Services (ORDS) 中创建 REST Data Services 模块处理程序时,它会自动将响应格式化为 PL/SQL 过程的 JSON -- 即任何 OUT 参数您创建的内容变成了 JSON。如何在 HTTP 响应中 return 纯文本字符串而不将其转换为 JSON?

我的很多初始搜索都指向 this resource 在 ORDS 中 returning 原始 JSON,但这对我的情况不起作用,因为你无法更改Source Type 如果您正在编写 PL/SQL 端点(例如,不是从数据库对象自动生成的方法处理程序)。

最终,我发现 this documentation 完全是为了别的东西; 然而,它显示了一些使用 HTP.p() 方法将纯文本直接打印到响应的示例代码。下面是一个简单示例,说明如何在 ORDS REST 数据服务模块方法处理程序中 return 纯文本响应:

BEGIN
  OWA_UTIL.mime_header('text/plain');
  HTP.p('Hello world!');
END;