2017-11-06 6 views
0

I Oracle REST APIをOracle Sql Developerとともに使用します。私の質問は、どのようにOracleの残りのAPIとOracleのoracleのSQL開発者だけを使用して "パラメータはnull"のようなmessgeを返すか?私の手順でexcepetionを上げる場合ORACLE REST APIはHTTP 500 - 内部サーバーエラーを返す、 "Http 500 - 内部サーバーのエラー"の代わりに "パラメータがnull"であるメッセージのみを返したいが、Oracle RESTのみを使用するAPIとoracle SQLの開発者。Oracle SQL Developerを使用したOracle REST APIでの例外復帰の適切な方法

私はテストが以下ですよ手順のコード(私は例外を含め、オラクル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

応答ヘッダーに戻る必要がありますが、NOT-BUGで、次のリリースのOracle RESTデータサービスを修正しようとします – thatjeffsmith

+0

これはどのように呼び出されますか?オートレストまたはplsqlソースレストサービスを介して? –

答えて

0

、私はあなたがのOracleを使用していることを推測していますRESTデータサービス(ORDS)。基本的なORDSには、開発者が低レベルのHTTPレスポンスを制御する方法が限られていますが、私はthis setting will probably do what you wantと考えています。

編集しdefaults.xmlファイルと、この設定を変更します。

<entry key="debug.printDebugToScreen">true</entry> 

これは、アプリケーション・エラー・メッセージ(およびスタックトレース)はJSON HTTPレスポンスの一部として返されますことを確認する必要があります。

関連する問題