gpt4 book ai didi

oracle - 创建返回 XML 和 JSON 的 Oracle APEX Restful 服务

转载 作者:行者123 更新时间:2023-12-04 19:51:00 26 4
gpt4 key购买 nike

我正在尝试创建一个将返回 JSON 或 XML 数据的 Restful 服务。该公司正在使用 Oracle application express (Restful Services) 作为完成这项工作的工具。

我注意到最新版本的 Application Express 不再有 XML 选项。?

我想知道有没有人有关于我如何创建一个 Restful 服务的任何示例或想法,该服务将根据我请求的内容类型返回 JSON 或 XML?

我目前正在运行 Application Express 4.2.5.00.08。

这在其他语言中一直很简单,但我需要使用 Oracle 数据服务来解决 ORDS

我尝试过的当前设置是定义一个 Restful 服务,如下所示;

Resful 服务模块:

  URI Template : test
Method : GET
Source : Query Format : JSON (XML is no longer option)
Require Secure Access : NO

来源:

SELECT RESTful_Testing.GetSampleData(:contentType) FROM DUAL

参数

Name               : Accept
Bind Variable Name : contentType
Access Method : IN
Source Type : HTTP Header
Parameter Type : String

我已将其设置为可以调用 Oracle 包并传入内容类型。我遇到的问题是格式已经预定义,因此任何返回 XML 的尝试都是不正确的(或者我可以稍后更改 header )。

包代码非常基础,如下仅供测试;

CREATE OR REPLACE PACKAGE APEX_EDS.RESTful_Testing AS 

TYPE resultCursor IS REF CURSOR;

function GetSampleData(contentType VARCHAR) return resultCursor;

END RESTful_Testing;
/


CREATE OR REPLACE PACKAGE BODY APEX_EDS.RESTful_Testing AS

function GetSampleData(contentType VARCHAR) return resultCursor AS
O_resultCursor resultCursor;

BEGIN
-- Check the Content Type
IF ( contentType = 'application/xml' ) THEN
OPEN O_resultCursor FOR
select '<ROOT><NAME>John</NAME><SURNAME>Smith</SURNAME>
<CONTENT_TYPE>application/xml</CONTENT_TYPE></ROOT>' FROM DUAL;
return(O_resultCursor);
ELSE -- Assume JSON so return normal
OPEN O_resultCursor FOR
select 'John' FirstName, 'Smith' Surname, contentType ContentType FROM DUAL;
return(O_resultCursor);
END IF;
END;
END RESTful_Testing;

希望这进一步增加了我的问题,并希望那里有一些 oracle ORDS 专家 :)。

最佳答案

我们目前正在使用 apex 的项目中执行此操作。你应该能够在网上找到很多教程。例如。 http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/apex/r42/RESTful_WS_oll/RESTful_WS_oll.html

在上面的示例中,您可以更改 rest 服务的类型以返回 JSON,而不是 XML。然而,对于 sql 中的各种 xml 函数来说,这是相当简单的,例如http://docs.oracle.com/cd/B19306_01/appdev.102/b14259/xdb13gen.htm#i1029583

我敢肯定,如果您可以连接您的 RESTful 服务,您还应该能够创建一个服务来返回您可以从 XML 查询中获得的自定义结果。

关于oracle - 创建返回 XML 和 JSON 的 Oracle APEX Restful 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27792746/

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