BeH*_*ter 2 rest restful-authentication oracle-apex
在APEX Restful Service中,如果我选择sql查询的GET方法,则所有参数都放在url字符串中。这意味着最终用户可以自己更改参数...所以我应该在pl / sql块中使用POST。但是如何从该方法返回数据?在GET中,我有类似的查询
SELECT *
FROM table
WHERE id = :PARAM
Run Code Online (Sandbox Code Playgroud)
在POST中变成了???
DECLARE
BEGIN
SELECT *
FROM table
WHERE id = :PARAM
END;
Run Code Online (Sandbox Code Playgroud)
我找不到关于文档的任何有用信息,仅关于GET方法。
我知道这是一个老问题,但是最近我遇到了同样的问题,我自己找到了解决方案。
也许我的解决方案对您有用。我将apex与PL / JSON结合使用以在pl / SQL中生成和解析JSON对象。当我在其余Web服务中使用post方法时,我在资源处理程序的源代码中执行以下操作:
declare
output json;
begin
apex_plugin_util.print_json_http_header;
output:= test_function(:INPUT_JSON_STRING);
sys.htp.p(output.to_char);
end;
Run Code Online (Sandbox Code Playgroud)
然后,在我的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;
Run Code Online (Sandbox Code Playgroud)
我的博客中有一个更详细的示例,但是抱歉,它是西班牙语的。
希望这可以帮助。