The openAPI object allows you to describe information specific to the API and to associate services to this description for the generation of the OpenAPI description.
This approach allows to
- dissociate the description of the services from the information specifically linked to the API (contact, version, license...)
- Share the service description between the OpenAPI and AsyncAPI descriptions
example of description of an OpenAPI object :
openAPI Person{ services:[Person] servers:[AppServer] outputFileName:"person-openAPI.yaml" info{ title: "Title API Person", description: "Description API Person", termsOfService: "https://myCompany.com/terms", version:"1.3.4" contact{ name: "contactName", url: "https://myCompany.com", email: "contactName@myMail.com" } license{ name: "MyLicenceName", url: "https://url/mylicenceName" } } }
Standard openAPI properties :
- services (List of String)
- Name of the service to include in the OpenAPI description
- servers (List of String)
- List of server object names, a server object provide connectivity information to a target server
- List of server object names, a server object provide connectivity information to a target server
- outputFileName (String)
- Akwatype specific property, it defines the name that will be given to the openAPI file generated for this API
- Info
- title (String) - Title of the API
- description (String) - Short description of the API
- termesOfService (String) - URL to the Terms of Service for the API
- version (String) - Version of the OpenAPI document
- contact
- name (String) - Identifying name of the contact person/organization
- url (String) - URL pointing to the contact information
- email (String) - Email address of the contact person/organization
- licence
- name (String) - License name used for the API
- url (String) - URL to the license used for the API