The AsyncAPI object allows you to describe information specific to the API and to associate services to this description for the generation of the AsyncAPI 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 AsyncAPI object :
asyncAPI Person{ services:[Person] borkers:[AppServer] outputFileName:"person-asyncAPI.yaml" info{ title: "Title Async API Person", description: "Description async API Person", termsOfService: "https://myCompany.com/terms", version:"2.1.5" contact{ name: "contactName", url: "https://myCompany.com", email: "contactName@myMail.com" } license{ name: "MyLicenceName", url: "https://url/mylicenceName" } } }
Standard asyncAPI properties :
- services (List of String)
- Name of the service to include in the OpenAPI description
- brokers (List of String)
- List of brokers object names, a broker object provide connectivity information to a target server
- Akwatype brokers will generate AsyncAPI server objects
- how to describe servers
- List of brokers object names, a broker 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