6.5. スキーマ定義
OpenShift Serverless Logic は、入力スキーマ定義と出力スキーマ定義の 2 種類のスキーマ定義をサポートしています。
6.5.1. 入力スキーマ定義
dataInputSchema
パラメーターは、定義された JSON
スキーマに対してワークフローデータ入力を検証します。dataInputSchema
を指定することは重要です。これは、ワークフロー状態が実行される前に、提供されたワークフローデータ入力が正しいかどうかを確認する場合に使用されるためです。
dataInputSchema
は、以下のように定義できます。
dataInputSchema
定義の例
"dataInputSchema": { "schema": "URL_to_json_schema", "failOnValidationErrors": false }
スキーマプロパティーは URI であり、ワークフローデータ入力を検証するために使用される JSON スキーマへのパスを保持します。URI は、クラスパス URI、ファイル、または HTTP URL にすることができます。クラスパス URI が指定されている場合、JSON スキーマファイルをプロジェクトのリソースセクションまたはクラスパスに含まれるその他のディレクトリーに配置する必要があります。
failOnValidationErrors
は、オプションのフラグで、入力データが指定の JSON スキーマと一致しない場合に採用される動作を示します。指定しない場合や true
に設定された場合、例外が発生し、フローの実行に失敗します。false
に設定すると、フローが実行され、検証エラーを含む WARN レベルのログが出力されます。
6.5.2. 出力スキーマ定義
出力スキーマ定義はワークフロー実行後に適用され、出力モデルが期待どおりの形式であることを確認します。Swagger 生成にも役立ちます。
入力スキーマ定義と同様に、次のように outputSchema
を使用して JSON スキーマへの URL を指定する必要があります。
outputSchema
定義の例
"extensions" : [ { "extensionid": "workflow-output-schema", "outputSchema": { "schema" : "URL_to_json_schema", "failOnValidationErrors": false } } ]
dataInputSchema
に記述されている同じルールは、schema
と failOnValidationErrors
に適用されます。唯一の違いは、後者のフラグがワークフローの実行後に適用されることです。