Skip to main content

 

拡張および連携

 

OutSystems

公開しているREST APIにカスタムエラーをスローするiyou

REST APIメソッドでエラーが発生した場合、何が起こったかについて、クライアントに意味のあるエラーメッセージを送信すると役立ちます。問題の一部はOutSystemsによって自動的に処理されますが、ロジックにカスタムエラー処理を追加することもできます。

ビルトインエラー処理

OutSystemsは、REST APIリクエストを受け取ると、リクエストが有効かどうか確認します。リクエストが有効でない場合、OutSystemsは以下の手順を実行します。

    • 検証手順で検出された各問題について、レスポンスボディにエラーメッセージを追加する。
    • レスポンスボディにHTTPステータスコードを追加する。
    • そのリクエストに対し定義されたアクションフローを処理せず、ただちに呼び出し元にレスポンスを送信する。

エラーのあるレスポンスボディの例は以下のとおりです。

{
    "Errors": [
        "The 'Id' URL parameter is missing in the request.",
        "The request body is missing."
    ],
    "StatusCode": 400
}

REST APIリクエストが有効な場合、OutSystemsはREST APIメソッドのアクションフローの実行を開始します。REST APIメソッド実行中に未処理例外が発生した場合、ビルトインエラー処理が例外をキャッチして以下の手順を実行します。

    • データベースに加えられた変更をロールバックする。
    • レスポンスのHTTPステータスコードを「500」(内部サーバーエラー)に設定する。
    • 発生した例外のエラーメッセージをレスポンスボディに追加する。
    • レスポンスボディにHTTPステータスコード「500」を追加する。
    • 呼び出し元にレスポンスを送信する。

カスタムエラーをスローする

公開するREST APIの開発中、ビルトインエラーとは異なる、独自のカスタムエラーをスローする必要が発生する場合があります。

REST APIでカスタムエラーをスローするには、以下の手順を実行します。

  1. スローするカスタムエラーにUser Exceptionを作成します。

    REST-add-custom-error-1.png

  2. エラーをスローしてRaise Error要素を追加するREST APIメソッドまたはコールバック(OnAuthenticationやOnRequestなど)のフローに移動します。

  3. Exceptionプロパティを、作成したUser Exceptionに設定します。

  4. Exception Messageプロパティをカスタムエラーメッセージに設定します。

  5. カスタムエラーコードを送信する場合は、カスタム値を使用してレスポンスのHTTPステータスコードを設定します。それ以外の場合、OutSystemsはHTTPステータスコード「500」を返します。

    REST-add-custom-error-2.png

  • Was this article helpful?