2013-06-21 96 views
2

在APEX RESTful服務,如果我挑GET方法與SQL查詢中的所有參數的URL字符串去。這意味着最終用戶可以自己更改參數...因此,我應該使用POST與pl/sql塊。但我怎麼能從這個方法返回數據? 在GET我有查詢像APEX RESTFUL POST方法

SELECT * 
FROM table 
WHERE id = :PARAM 

在POST它變成???

DECLARE 
BEGIN 
SELECT * 
FROM table 
WHERE id = :PARAM 
END; 

我在documentstion中找不到任何有用的東西,只關於GET方法。

回答

4

我知道,這一個老問題,但最近我有同樣的問題,我發現我自己的解決方案。

也許我的解決方案對你很有用。我使用頂點與PL/JSON結合來生成和分析pl/SQL中的JSON對象。當我交的方法在休息web服務工作,我這樣做的資源處理程序的來源如下:

declare 
output json; 

begin 

apex_plugin_util.print_json_http_header; 
output:= test_function(:INPUT_JSON_STRING); 
sys.htp.p(output.to_char); 

end; 

然後,在我的PL/SQL函數:

CREATE OR REPLACE FUNCTION test_function (INPUT_JSON_STRING VARCHAR2) 
RETURN JSON 
IS 

my_json json; 

aux_string varchar2; 

BEGIN 

my_json :=json(INPUT_JSON_STRING); 

aux_string:=my_json.get ('something').get_string; 

(...) 

RETURN my_json; 

EXCEPTION 

END test_function; 

我有一個更詳細example在我的博客中,但它是用西班牙語,對不起。

希望這會有所幫助。