Skip to main content

 

 

 

 
Language:
 
Service Studioバージョン :
 
 
OutSystems

REST APIレスポンスをカスタマイズする

OutSystemsでは、REST APIを公開している場合にレスポンスで送信される情報をカスタマイズできます。

これには、以下の手順を実行します。

  1. Logic]タブで、Integrationsフォルダを開きます。

  2. 公開しているREST APIで、On Responseプロパティを「New OnResponse」に設定します。

    Service StudioのREST API

  3. REST APIで利用可能となったOnResponseコールバックアクションを開きます。

  4. レスポンスの情報をカスタマイズするロジックを設計します。

    OnResponseコールバックの入出力パラメータ

    「Response」入力パラメータの「ResponseText」アトリビュートにアクセスするとレスポンスのテキストを取得することができ、「ResponseBinary」アトリビュートにアクセスするとバイナリコンテンツを取得することができます。

    前処理後に、「CustomizedResponse」出力をリクエストに設定するようにします。

    「Response」入力パラメータの「ResponseText」アトリビュートと「ResponseBinary」アトリビュートには、それぞれシリアル化されたJSON形式またはバイナリ形式のレスポンスボディのみが保存されます。レスポンスの一部であるヘッダーはこれらに含まれません。

    「CustomizedResponse」出力パラメータの「ResponseText」アトリビュートに何らかの値を入力した場合、「ResponseBinary」アトリビュートを設定しても、これがレスポンスとしてAPIクライアントに送信されます。

REST APIで定義と構成を行うと、REST APIが公開しているすべてのメソッドでOnResponseコールバックが実行されます。

ユースケースの例:

OnResponseコールバックを使用して、例外が発生したときのレスポンスをカスタマイズできます。以下のように、デフォルトのレスポンスを改善することができます。

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

以下の例のように、レスポンスに詳細な情報を含めることができます。

{
    "HTTPStatus": {
        "HTTPCode": 404,
        "developerMessage": "Not Found",
        "userMessage": "The server can not find the requested resource.In an API, this can mean that the endpoint is valid but the resource itself does not exist.",
        "errorCode": "404",
        "moreInfo": "For more information please visit https://en.wikipedia.org/wiki/List_of_HTTP_status_codes"
    }
}

この例のユースケースの実装の詳細については、ブログ記事「OutSystemsのREST API公開時のHTTPステータスコードの実装方法」と、OutSystems ForgeのREST HTTP Codesアプリケーションをご覧ください。

  • Was this article helpful?