使用Oracle SQL Developer

时间:2017-11-06 12:18:42

标签: oracle rest api plsql oracle-sqldeveloper

我将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;

1 个答案:

答案 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响应的一部分返回应用程序错误消息(和堆栈跟踪)。