レスポンスヘッダーと状況コードの設定

[HTTP Listener (HTTP リスナー)]​ 設定では、HTTP レスポンスボディ、ヘッダー、状況コード、理由を示す語句をカスタマイズできます。

変数名を設定する

[APIkit Router (APIkit ルーター)]​ で次のプロパティを設定することで、HTTP リスナーが検索するデフォルトの変数を設定できます。

  • outboundHeadersMapName

    応答に追加されたヘッダーマップを含む変数の名前 (デフォルトでは ​outboundHeaders​)

  • httpStatusVarName

    応答に設定する状況コードを保存する変数の名前 (デフォルトでは ​httpStatus​)

[APIkit Router (APIkit ルーター)]​ では両方の変数を作成し、カスタム HTTP ヘッダーと状況コードを簡単に応答に含めることができます。

<apikit:config  name="api-config"
                api="api.raml"
                outboundHeadersMapName="outboundHeaders"
                httpStatusVarName="httpStatus"/>

これらの変数のデフォルト名を変更するには、デフォルトの HTTP リスナー設定を更新して変数名と設定を調整します。

<http:listener config-ref="api-httpListenerConfig" path="/api/*">
    <http:response
        statusCode="#[vars.httpStatus default 200]">
        <http:headers>#[vars.outboundHeaders default {}]</http:headers>
    </http:response>
    <http:error-response
        statusCode="#[vars.httpStatus default 500]">
        <http:body>#[payload]</http:body>
        <http:headers>#[vars.outboundHeaders default {}]</http:headers>
    </http:error-response>
</http:listener>

応答にヘッダーを追加する

次の例に示すように、追加するヘッダーを ​outboundHeaders​ マップ内に挿入します。

<set-variable
    value='#[vars.outboundHeaders default {} ++ {newHeaderName: "Header value"}]'
    variableName="outboundHeaders"/>

応答の状況コードを設定する

httpStatus​ 変数に特定の値を割り当てるには、次の例を参考にしてください。

<set-variable
    value="201"
    variableName="httpStatus"/>