Last active
March 8, 2022 09:29
-
-
Save webdevotion/266bd5d73d4bae4055e21653d7e95355 to your computer and use it in GitHub Desktop.
async-api-examples
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
asyncapi: 2.0.0 | |
info: | |
title: Account Service | |
version: '1.0.0' | |
description: | | |
Manages user accounts in the system. | |
license: | |
name: Apache 2.0 | |
url: https://www.apache.org/licenses/LICENSE-2.0 | |
servers: | |
production: | |
url: mqtt://test.mosquitto.org | |
protocol: mqtt | |
description: Test MQTT broker | |
channels: | |
user/signedup: | |
subscribe: | |
operationId: emitUserSignUpEvent | |
message: | |
$ref : '#/components/messages/UserSignedUp' | |
components: | |
messages: | |
UserSignedUp: | |
name: userSignedUp | |
title: User signed up event | |
summary: Inform about a new user registration in the system | |
contentType: application/json | |
payload: | |
$ref: '#/components/schemas/userSignedUpPayload' | |
schemas: | |
userSignedUpPayload: | |
type: object | |
properties: | |
firstName: | |
type: string | |
description: "foo" | |
lastName: | |
type: string | |
description: "bar" | |
email: | |
type: string | |
format: email | |
description: "baz" | |
createdAt: | |
type: string | |
format: date-time |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
asyncapi: '2.1.0' | |
info: | |
title: Order Service | |
version: 1.0.0 | |
description: The service is in charge of processing orders | |
contact: | |
name: Daniel Kocot | |
email: [email protected] | |
license: | |
name: Apache 2.0 | |
url: https://www.apache.org/licenses/LICENSE-2.0.html | |
servers: | |
rabbitmqInStaging: | |
url: rabbitmq-staging.codecentric.de:{port} | |
description: RabbitMQ Broker in staging environment | |
protocol: amqp | |
protocolVersion: '0.9.1' | |
variables: | |
port: | |
default: '5672' | |
enum: | |
- '5672' | |
- '15672' | |
rabbitmqInProd: | |
url: rabbitmq.codecentric.de:{port} | |
description: RabbitMQ Broker in production environment | |
protocol: amqp | |
protocolVersion: '0.9.1' | |
variables: | |
port: | |
default: '5672' | |
enum: | |
- '5672' | |
- '15672' | |
channels: | |
orderProcessed: | |
publish: | |
operationId: orderProcessedPub | |
description: Payload of processed order | |
message: | |
$ref: '#/components/messages/orderProcessed' | |
bindings: | |
$ref: '#/components/messageBindings/amqp/bindings' | |
subscribe: | |
operationId: orderProcessedSub | |
description: Payload of processed order | |
message: | |
$ref: '#/components/messages/orderProcessed' | |
bindings: | |
$ref: '#/components/messageBindings/amqp/bindings' | |
bindings: | |
amqp: | |
$ref: '#/components/channelBindings/amqp' | |
components: | |
schemas: | |
OrderPayload: | |
type: object | |
properties: | |
id: | |
type: integer | |
format: int64 | |
description: ID of received order | |
customerReference: | |
type: string | |
description: Reference for the customer according the order | |
messages: | |
orderProcessed: | |
name: orderProcessed | |
title: Order Processed | |
summary: Inform about a new processed order in the system | |
contentType: application/json | |
payload: | |
$ref: '#/components/schemas/OrderPayload' | |
channelBindings: | |
amqp: | |
is: routingKey | |
exchange: | |
name: orderExchange | |
type: direct | |
durable: true | |
vhost: / | |
bindingVersion: 0.2.0 | |
messageBindings: | |
amqp: | |
bindings: | |
amqp: | |
timestamp: true | |
ack: false | |
bindingVersion: 0.2.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
asyncapi: '2.2.0' | |
info: | |
title: Order Service | |
version: 1.0.0 | |
description: The service is in charge of processing orders | |
contact: | |
name: Daniel Kocot | |
email: [email protected] | |
license: | |
name: Apache 2.0 | |
url: https://www.apache.org/licenses/LICENSE-2.0.html | |
servers: | |
rabbitmqInStaging: | |
url: rabbitmq-staging.codecentric.de:{port} | |
description: RabbitMQ Broker in staging environment | |
protocol: amqp | |
protocolVersion: '0.9.1' | |
variables: | |
port: | |
default: '5672' | |
enum: | |
- '5672' | |
- '15672' | |
rabbitmqInProd: | |
url: rabbitmq.codecentric.de:{port} | |
description: RabbitMQ Broker in production environment | |
protocol: amqp | |
protocolVersion: '0.9.1' | |
variables: | |
port: | |
default: '5672' | |
enum: | |
- '5672' | |
- '15672' | |
channels: | |
orderProcessed: | |
servers: | |
- rabbitmqInStaging | |
publish: | |
operationId: orderProcessedPub | |
description: Payload of processed order | |
message: | |
$ref: '#/components/messages/orderProcessed' | |
bindings: | |
$ref: '#/components/messageBindings/amqp/bindings' | |
subscribe: | |
operationId: orderProcessedSub | |
description: Payload of processed order | |
message: | |
$ref: '#/components/messages/orderProcessed' | |
bindings: | |
$ref: '#/components/messageBindings/amqp/bindings' | |
bindings: | |
amqp: | |
$ref: '#/components/channelBindings/amqp' | |
components: | |
schemas: | |
OrderPayload: | |
type: object | |
properties: | |
id: | |
type: integer | |
format: int64 | |
description: ID of received order | |
customerReference: | |
type: string | |
description: Reference for the customer according the order | |
messages: | |
orderProcessed: | |
name: orderProcessed | |
title: Order Processed | |
summary: Inform about a new processed order in the system | |
contentType: application/json | |
payload: | |
$ref: '#/components/schemas/OrderPayload' | |
channelBindings: | |
amqp: | |
is: routingKey | |
exchange: | |
name: orderExchange | |
type: direct | |
durable: true | |
vhost: / | |
bindingVersion: 0.2.0 | |
messageBindings: | |
amqp: | |
bindings: | |
amqp: | |
timestamp: true | |
ack: false | |
bindingVersion: 0.2.0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
asyncapi: '2.3.0' | |
id: 'urn:com:gitter:streaming:api' | |
info: | |
title: Gitter Streaming API | |
version: '1.0.0' | |
servers: | |
production: | |
url: https://stream.gitter.im/v1 | |
protocol: https | |
protocolVersion: '1.1' | |
security: | |
- httpBearerToken: [] | |
channels: | |
/rooms/{roomId}/{resource}: | |
parameters: | |
roomId: | |
description: Id of the Gitter room. | |
schema: | |
type: string | |
examples: | |
- 53307860c3599d1de448e19d | |
resource: | |
description: The resource to consume. | |
schema: | |
type: string | |
enum: | |
- chatMessages | |
- events | |
subscribe: | |
bindings: | |
http: | |
type: response | |
message: | |
oneOf: | |
- $ref: '#/components/messages/chatMessage' | |
- $ref: '#/components/messages/heartbeat' | |
components: | |
securitySchemes: | |
httpBearerToken: | |
type: http | |
scheme: bearer | |
messages: | |
chatMessage: | |
schemaFormat: 'application/schema+yaml;version=draft-07' | |
summary: >- | |
A message represents an individual chat message sent to a room. | |
They are a sub-resource of a room. | |
payload: | |
type: object | |
properties: | |
id: | |
type: string | |
description: ID of the message. | |
text: | |
type: string | |
description: Original message in plain-text/markdown. | |
html: | |
type: string | |
description: HTML formatted message. | |
sent: | |
type: string | |
format: date-time | |
description: ISO formatted date of the message. | |
fromUser: | |
type: object | |
description: User that sent the message. | |
properties: | |
id: | |
type: string | |
description: Gitter User ID. | |
username: | |
type: string | |
description: Gitter/GitHub username. | |
displayName: | |
type: string | |
description: Gitter/GitHub user real name. | |
url: | |
type: string | |
description: Path to the user on Gitter. | |
avatarUrl: | |
type: string | |
format: uri | |
description: User avatar URI. | |
avatarUrlSmall: | |
type: string | |
format: uri | |
description: User avatar URI (small). | |
avatarUrlMedium: | |
type: string | |
format: uri | |
description: User avatar URI (medium). | |
v: | |
type: number | |
description: Version. | |
gv: | |
type: string | |
description: Stands for "Gravatar version" and is used for cache busting. | |
unread: | |
type: boolean | |
description: Boolean that indicates if the current user has read the message. | |
readBy: | |
type: number | |
description: Number of users that have read the message. | |
urls: | |
type: array | |
description: List of URLs present in the message. | |
items: | |
type: string | |
format: uri | |
mentions: | |
type: array | |
description: List of @Mentions in the message. | |
items: | |
type: object | |
properties: | |
screenName: | |
type: string | |
userId: | |
type: string | |
userIds: | |
type: array | |
items: | |
type: string | |
issues: | |
type: array | |
description: 'List of #Issues referenced in the message.' | |
items: | |
type: object | |
properties: | |
number: | |
type: string | |
meta: | |
type: array | |
description: Metadata. This is currently not used for anything. | |
items: {} | |
v: | |
type: number | |
description: Version. | |
gv: | |
type: string | |
description: Stands for "Gravatar version" and is used for cache busting. | |
bindings: | |
http: | |
$ref: '#/components/messageBindings/streamingHeaders' | |
heartbeat: | |
schemaFormat: 'application/schema+yaml;version=draft-07' | |
summary: Its purpose is to keep the connection alive. | |
payload: | |
type: string | |
enum: ["\r\n"] | |
bindings: | |
http: | |
$ref: '#/components/messageBindings/streamingHeaders' | |
messageBindings: | |
streamingHeaders: | |
http: | |
headers: | |
'Transfer-Encoding': 'chunked' | |
Trailer: '\r\n' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
asyncapi: '2.3.0' | |
info: | |
title: Order Service | |
version: 1.0.0 | |
description: The service is in charge of processing orders | |
contact: | |
name: Daniel Kocot | |
email: [email protected] | |
license: | |
name: Apache 2.0 | |
url: https://www.apache.org/licenses/LICENSE-2.0.html | |
servers: | |
staging: | |
$ref: '#/components/servers/rabbitmqInStaging' | |
production: | |
$ref: '#/components/servers/rabbitmqInProd' | |
channels: | |
orderProcessed: | |
servers: | |
- staging | |
publish: | |
operationId: orderProcessedPub | |
description: Payload of processed order | |
message: | |
$ref: '#/components/messages/orderProcessed' | |
bindings: | |
$ref: '#/components/messageBindings/amqp/bindings' | |
subscribe: | |
operationId: orderProcessedSub | |
description: Payload of processed order | |
message: | |
$ref: '#/components/messages/orderProcessed' | |
bindings: | |
$ref: '#/components/messageBindings/amqp/bindings' | |
bindings: | |
amqp: | |
$ref: '#/components/channelBindings/amqp' | |
components: | |
schemas: | |
OrderPayload: | |
type: object | |
properties: | |
id: | |
type: integer | |
format: int64 | |
description: ID of received order | |
customerReference: | |
type: string | |
description: Reference for the customer according the order | |
servers: | |
rabbitmqInStaging: | |
url: rabbitmq-staging.codecentric.de:{port} | |
description: RabbitMQ Broker in staging environment | |
protocol: amqp | |
protocolVersion: '0.9.1' | |
variables: | |
port: | |
default: '5672' | |
enum: | |
- '5672' | |
- '15672' | |
rabbitmqInProd: | |
url: rabbitmq.codecentric.de:{port} | |
description: RabbitMQ Broker in production environment | |
protocol: amqp | |
protocolVersion: '0.9.1' | |
variables: | |
port: | |
default: '5672' | |
enum: | |
- '5672' | |
- '15672' | |
messages: | |
orderProcessed: | |
name: orderProcessed | |
title: Order Processed | |
summary: Inform about a new processed order in the system | |
contentType: application/json | |
payload: | |
$ref: '#/components/schemas/OrderPayload' | |
channelBindings: | |
amqp: | |
is: routingKey | |
exchange: | |
name: orderExchange | |
type: direct | |
durable: true | |
vhost: / | |
bindingVersion: 0.2.0 | |
messageBindings: | |
amqp: | |
bindings: | |
amqp: | |
timestamp: true | |
ack: false | |
bindingVersion: 0.2.0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment