我将Oracle REST API用于Oracle Sql Developer的休息服务。我的问题是如何返回像#34;参数为空"仅使用Oracle rest api和oracle sql developer?如果我在我的程序ORACLE REST API中引发excepetion返回HTTP 500 - 内部服务器错误,我想只返回"参数为空的消息"而不是" Http 500 - 内部服务器erro",但我只使用Oracle REST API和oracle sql开发人员。
我正在测试的程序代码如下(我从oracle documetation获得,只是包含例外):
create or replace procedure promote(l_empno in number,
l_job IN varchar2,
l_mgr IN number,
l_sal IN number,
l_comm IN number,
l_deptno IN number,
l_salarychange OUT number
) is
oldsalary number;
begin
IF l_job IS NULL THEN
raise_application_error(-20101, 'Parameter is null');
end if;
select nvl(e.sal, 0) into oldsalary FROM emp e where e.empno = l_empno;
update emp e
set e.job = nvl(l_job, e.job),
e.mgr = nvl(l_mgr, e.mgr),
e.sal = nvl(l_sal, e.sal),
e.comm = nvl(l_comm, e.comm),
e.deptno = nvl(l_deptno, e.deptno)
where e.empno = l_empno;
l_salarychange := nvl(l_sal, oldsalary) - oldsalary;
end;
答案 0 :(得分:0)
从您的示例中,我猜您正在使用 Oracle REST数据服务(ORDS)。基本ORDS对开发人员控制低级HTTP响应的方式有限,但我认为this setting will probably do what you want。
修改您的defaults.xml
文件并更改此设置:
<entry key="debug.printDebugToScreen">true</entry>
这应该确保作为JSON HTTP响应的一部分返回应用程序错误消息(和堆栈跟踪)。