mirror of
https://github.com/mintlify/docs.git
synced 2026-09-14 13:35:46 +08:00
4db5914680
* Update api-playground/openapi-setup.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> * Update api-playground/openapi-setup.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> * Update api-playground/asyncapi-setup.mdx Co-Authored-By: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> --------- Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
111 lines
2.4 KiB
Plaintext
111 lines
2.4 KiB
Plaintext
---
|
|
title: "AsyncAPI setup"
|
|
description: "Create websocket documentation with AsyncAPI specifications."
|
|
keywords: ["asyncapi", "websocket"]
|
|
---
|
|
|
|
## Demo
|
|
|
|
See the [websocket playground](/api-playground/websocket-playground) for an example of the AsyncAPI playground.
|
|
|
|
## Add an AsyncAPI specification file
|
|
|
|
To create pages for your websockets, you must have a valid AsyncAPI schema document in either JSON or YAML format that follows the [AsyncAPI specification 3.0](https://www.asyncapi.com/docs/reference/specification/v3.0.0).
|
|
|
|
<Tip>
|
|
Use the [AsyncAPI Studio](https://studio.asyncapi.com/) to validate your AsyncAPI schema.
|
|
</Tip>
|
|
|
|
```json {3}
|
|
/your-project
|
|
|- docs.json
|
|
|- asyncapi.json
|
|
```
|
|
|
|
## Auto-populate websockets pages
|
|
|
|
To automatically generate pages for all channels in your AsyncAPI schema, add an `asyncapi` property to any navigation element. The `asyncapi` property accepts a path to an AsyncAPI schema document in your documentation repo, a URL to a hosted AsyncAPI document, or an array of links to AsyncAPI schema documents.
|
|
|
|
### Examples with tabs
|
|
|
|
<CodeGroup>
|
|
|
|
```json Local file
|
|
"navigation": {
|
|
"tabs": [
|
|
{
|
|
"tab": "API Reference",
|
|
"asyncapi": "/path/to/asyncapi.json"
|
|
}
|
|
]
|
|
}
|
|
|
|
```
|
|
|
|
```json Remote URL
|
|
"navigation": {
|
|
"tabs": [
|
|
{
|
|
"tab": "API Reference",
|
|
"asyncapi": "https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml"
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
```json Multiple files
|
|
"navigation": {
|
|
"tabs": [
|
|
{
|
|
"tab": "API Reference",
|
|
"asyncapi": [
|
|
"/path/to/events.json",
|
|
"/path/to/webhooks.json"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
</CodeGroup>
|
|
|
|
<Note>
|
|
When you specify multiple AsyncAPI files, each file generates its own set of channel pages.
|
|
</Note>
|
|
|
|
### Examples with groups
|
|
|
|
```json
|
|
"navigation": {
|
|
"tabs": [
|
|
{
|
|
"tab": "AsyncAPI",
|
|
"groups": [
|
|
{
|
|
"group": "Websockets",
|
|
"asyncapi": {
|
|
"source": "/path/to/asyncapi.json",
|
|
"directory": "websockets"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
|
|
<Note>
|
|
The `directory` field is optional. If not specified, the files will be placed in the **api-reference** folder of the docs repo.
|
|
</Note>
|
|
|
|
## Channel page
|
|
|
|
If you want more control over how you order your channels or if you want to reference only specific channels, create an MDX file with the `asyncapi` property in the frontmatter.
|
|
|
|
```mdx
|
|
---
|
|
title: "Websocket Channel"
|
|
asyncapi: "/path/to/asyncapi.json channelName"
|
|
---
|
|
```
|