OpenAPI Specifications - 7.3

Talend Data Mapper User Guide

Version
7.3
Language
English
Product
Talend Big Data Platform
Talend Data Fabric
Talend Data Management Platform
Talend Data Services Platform
Talend MDM Platform
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
Design and Development > Designing Jobs
Last publication date
2023-01-05

OpenAPI Specifications, which is a set of tools, help you design, build, document, and consume APIs.

The OpenAPI Specifications are similar to the Web Services Definition Language that describe interactions between the client and the server using the REST API. For more information, refer to the OpenAPI Specification documentation.

Along with the client-server interactions, an OpenAPI Specifications file also includes descriptions for input and output data structures. When you import OpenAPI Specifications files using the JSON OpenAPI Specifications option, Talend Data Mapper extracts the descriptions of the data structures and creates a Structure with a default JSON representation. For examples, see YAML example and JSON example.

Supported features

The following lists some useful information when importing OpenAPI Specifications into a Structure:
  • All imported Structures are simple. Primitive types in OpenAPI Specifications include the usual mix of strings, integers, and float/doubles.

  • Arrays are translated into repeatable elements in Talend Data Mapper (Loops).

  • The additionalProperties OpenAPI Specifications feature translates to a group of a MAP type in Talend Data Mapper.

  • The allOf construct translates naturally into a Talend Data Mapper inheritance.

  • The oneOf and anyOf translate into a Choice in Talend Data Mapper.
    Note: The Choice in Talend Data Mapper does not exactly match the semantic of anyOf. In the following schema example, see that the JSON can be a Cat, a Dog, or both. Talend Data Mapper does not support the both case.
    CatOrDog:
          anyOf:
            - $ref: '#/components/schemas/Cat'
            - $ref: '#/components/schemas/Dog'