OpenAPIの仕様 in Talend Data Mapperにおける最新の実装には、いくつかの制限があります。
サポートされていない機能
properties
とadditionalProperties
が混在するオブジェクトはサポートされていません。次の例をご覧ください。schemas: Coord: type: object properties: latitude: type: number longitude: type: number additionalProperties: type: number
- プロパティ上で
multipleOf
キーワードは制約として無視されます。次の例をご覧ください。schema: type: array items: type: integer multipleOf: 2
Talend Data Mapperでは制約が無視されます。
- 次のスキーマに示すように、
properties
内のデフォルト値は無視されます。schema: type: object properties: a: type: string default: Hello
値
Hello
は、エレメントa
のデフォルト値としてインポートされません。 - 次の例に示すように
nullable
キーワードはスキーマ内で無視されます。schema: type: array items: type: string nullable: true
nullable
属性はインポートされません。 - プロパティのあるオブジェクトはサポートされません。OpenAPIでは、
additionalProperties
キーワードをブール値と一緒に使用できます。その場合、セマンティックはキーまたは値のペアのマップとは異なり、追加のプロパティが受け入れられることが示されます。実行時に追加のエレメントが表示されることがある場合(ダイナミックスキーマ)、Talend Data Mapperにはopen
ストラクチャーのコンセプトがありません。同様に、そのように定義されているプロパティは無視されます。"PutResourceAttributesResult": { "properties": {}, "type": "object" }, "headers" : { }
- OpenAPI Specifications 3.0で説明されている拡張機能は、Talend Data Mapperでサポートされていません。
- 次のコード例で示されているように、Talend Data Mapperでは
not
というキーワードがサポートされていません。PetByAge: type: object properties: age: type: integer nickname: not: type: integer required: - age
既知の問題
OpenAPI 3.0のサポートにはJSONスキーマAnyOfとOneOfに基づく構成が含まれており、Talend Data Mapperによって選択エレメントに変換されています。これらの選択エレメントが子エレメントである(トップエレメントでない)場合、JSONを含むTalend Data Mapperリーダーとライターはエレメントを正しく処理します。ただし、Choiceエレメントがストラクチャーのトップレベルエレメントまたはルートエレメントである場合、JSONを含むTalend Data Mapperリーダーとライターは、データの解析または書き込みに失敗します。