mirror of
https://github.com/mintlify/docs.git
synced 2026-09-14 13:35:46 +08:00
82d887df98
Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com>
152 lines
3.8 KiB
Plaintext
152 lines
3.8 KiB
Plaintext
---
|
||
title: "Configuration d’AsyncAPI"
|
||
description: "Configurez une documentation WebSocket en temps réel à l'aide de fichiers de spécification AsyncAPI pour générer des pages de référence interactives de canaux et messages."
|
||
keywords: ["asyncapi", "websocket"]
|
||
---
|
||
|
||
<div id="demo">
|
||
## Démo
|
||
</div>
|
||
|
||
Consultez l’[aire de jeu WebSocket](/fr/api-playground/websocket-playground) pour un exemple de l’aire de jeu AsyncAPI.
|
||
|
||
<div id="add-an-asyncapi-specification-file">
|
||
## Ajouter un fichier de spécification AsyncAPI
|
||
</div>
|
||
|
||
Pour créer des pages pour vos canaux WebSocket, vous devez disposer d’un document de schéma AsyncAPI valide, au format JSON ou YAML, conforme à la [spécification AsyncAPI 3.0](https://www.asyncapi.com/docs/reference/specification/v3.0.0).
|
||
|
||
<Tip>
|
||
Utilisez [AsyncAPI Studio](https://studio.asyncapi.com/) pour valider votre schéma AsyncAPI.
|
||
</Tip>
|
||
|
||
```json {3}
|
||
/votre-projet
|
||
|- docs.json
|
||
|- asyncapi.json
|
||
```
|
||
|
||
|
||
<div id="auto-populate-websockets-pages">
|
||
## Remplir automatiquement les pages WebSocket
|
||
</div>
|
||
|
||
Pour générer automatiquement des pages pour tous les canaux de votre schéma AsyncAPI, ajoutez une propriété `asyncapi` à n’importe quel élément de navigation. La propriété `asyncapi` accepte un chemin d’accès vers un document de schéma AsyncAPI dans votre dépôt de documentation, une URL vers un document AsyncAPI hébergé, ou un tableau de liens vers des documents de schéma AsyncAPI.
|
||
|
||
<div id="examples-with-tabs">
|
||
### Exemples avec onglets
|
||
</div>
|
||
|
||
<CodeGroup>
|
||
|
||
```json Local file
|
||
"navigation": {
|
||
"tabs": [
|
||
{
|
||
"tab": "Référence de l’API",
|
||
"asyncapi": "/path/to/asyncapi.json"
|
||
}
|
||
]
|
||
}
|
||
|
||
```
|
||
|
||
```json Remote URL
|
||
"navigation": {
|
||
"tabs": [
|
||
{
|
||
"tab": "Référence de l’API",
|
||
"asyncapi": "https://github.com/asyncapi/spec/blob/master/examples/simple-asyncapi.yml"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
```json Multiple files
|
||
"navigation": {
|
||
"tabs": [
|
||
{
|
||
"tab": "Référence de l’API",
|
||
"asyncapi": [
|
||
"/path/to/events.json",
|
||
"/path/to/webhooks.json"
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
</CodeGroup>
|
||
|
||
<Note>
|
||
Lorsque vous spécifiez plusieurs fichiers AsyncAPI, chaque fichier génère son propre ensemble de pages de canaux.
|
||
</Note>
|
||
|
||
<div id="examples-with-groups">
|
||
### Exemples avec des groupes
|
||
</div>
|
||
|
||
```json
|
||
"navigation": {
|
||
"tabs": [
|
||
{
|
||
"tab": "AsyncAPI",
|
||
"groups": [
|
||
{
|
||
"group": "Websockets",
|
||
"asyncapi": {
|
||
"source": "/path/to/asyncapi.json",
|
||
"directory": "websockets"
|
||
}
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
<Note>
|
||
Le champ `directory` est facultatif. S’il n’est pas indiqué, Mintlify ajoute les fichiers dans le dossier **api-reference** du dépôt de documentation.
|
||
</Note>
|
||
|
||
### Exemples avec des groupes imbriqués
|
||
|
||
La propriété `asyncapi` prend en charge les groupes imbriqués. Mintlify génère les pages de canaux et les ajoute au groupe imbriqué, aux côtés des pages existantes.
|
||
|
||
C'est utile lorsque vous souhaitez organiser les canaux WebSocket comme une sous-section d'un groupe d'API plus large, ou lorsque vous devez combiner plusieurs spécifications AsyncAPI sous un groupe parent commun.
|
||
|
||
```json
|
||
"navigation": {
|
||
"tabs": [
|
||
{
|
||
"tab": "API Reference",
|
||
"groups": [
|
||
{
|
||
"group": "Voice API",
|
||
"pages": [
|
||
"voice/overview",
|
||
{
|
||
"group": "Voice API Commands",
|
||
"asyncapi": "/path/to/voice-asyncapi.json"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
<div id="channel-page">
|
||
## Page de canal
|
||
</div>
|
||
|
||
Si vous souhaitez mieux contrôler l’ordre de vos canaux ou ne référencer que certains canaux, créez un fichier MDX avec la propriété `asyncapi` dans le frontmatter.
|
||
|
||
```mdx
|
||
---
|
||
title: "Canal WebSocket"
|
||
asyncapi: "/path/to/asyncapi.json channelName"
|
||
---
|
||
```
|