エラー処理リファレンス

エラーの種類

APIkit for OData v4 では、次のエラーの種類が定義されています。

エラーの種類 説明

APIKIT-ODATA:NOT_IMPLEMENTED

Requested service, feature, or operation not implemented (要求されたサービス、機能、または操作は実装されていません)

APIKIT-ODATA:MALFORMED_URI

Invalid request URI (要求 URI が無効です)

APIKIT-ODATA:MALFORMED_SEARCH

Invalid request ​$search​ expression in URI (URI の要求 $search 式が無効です)

APIKIT-ODATA:SERIALIZATION

Generic error for serialization issues (シリアル化の問題に関する汎用エラー)

APIKIT-ODATA:DESERIALIZATION

Generic error for deserialization issues (逆シリアル化の問題に関する汎用エラー)

APIKIT-ODATA:TRANSFORMATION

Generic error for issues related to URI to SQL transformations (URI から SQL への変換に関連する問題の汎用エラー)

APIKIT-ODATA:INTERNAL_SERVER_ERROR

Generic error for internal server issues (内部サーバーの問題に関する汎用エラー)

APIKIT-ODATA:NOT_FOUND

Generic error for not found (見つからなかった汎用エラー)

APIKIT-ODATA:EXPANSION

Generic error for issues during expansion (拡張時の問題に関する汎用エラー)

エラー処理

APIkit for OData v4 スキャフォルダーは、汎用エラーフォーマッターとして機能する 1 つの ​On Error Propagate​ キャッチを含むエラーハンドラーを生成します。

...
    <error-handler name="Error_Handler">
      <on-error-propagate name="On_Error_Propagate" enableNotifications="true" logException="true" type="ANY">
        <ee:transform>
          <ee:message>
            <ee:set-payload><![CDATA[%dw 2.0
output application/json
---
{
	error: {
		code: error.errorMessage.payload.code default "UNKNOWN",
		message: error.errorMessage.payload.message default error.description,
		target: error.errorMessage.payload.target,
		details: error.errorMessage.payload.details default [{code: "UNKNOWN", message: error.detailedDescription, target: null}],
		innererror: error.errorMessage.payload.innerError default error.childErrors
	}
}]]></ee:set-payload>
          </ee:message>
          <ee:variables>
            <ee:set-variable variableName="statusCode"><![CDATA[error.errorMessage.payload.statusCode default 500]]></ee:set-variable>
          </ee:variables>
        </ee:transform>
      </on-error-propagate>
    </error-handler>
...

関連情報