Structurer votre référence d’API

Découvrez comment structurer votre référence d’API sur plusieurs pages avec des icônes et des descriptions

GitBook fait bien plus que simplement afficher votre spécification OpenAPI. Il vous permet de personnaliser votre référence d’API pour une meilleure clarté, navigation et image de marque.

Répartir les opérations sur plusieurs pages

Pour garder votre documentation organisée, GitBook peut répartir vos opérations d’API sur des pages distinctes. Chaque page est générée à partir d’une balise de votre spécification OpenAPI. Pour regrouper les opérations sur une page, attribuez la même balise à chaque opération :

openapi.yaml
paths:
  /pet:
    put:
      tags:
        - pet
      summary: Mettre à jour un animal existant.
      description: Mettre à jour un animal existant par identifiant.
      operationId: updatePet

Réorganiser les pages dans votre table des matières

L’ordre des pages dans GitBook correspond à l’ordre des balises dans votre tableau tags OpenAPI :

openapi.yaml
tags:
  - name: pet
  - name: store
  - name: user

Imbriquer des pages dans des groupes

Pour construire une navigation à plusieurs niveaux, utilisez x-parent (ou parent) dans les balises pour définir la hiérarchie :

openapi.yaml
tags:
  - name: everything
  - name: pet
    x-parent: everything
  - name: store
    x-parent: everything

L’exemple ci-dessus créera une table des matières qui ressemble à ceci :

Tout
├── Animal
└── Boutique

Si une page n’a pas de description, GitBook affichera automatiquement une mise en page sous forme de cartes pour ses sous-pages.

Personnaliser les titres, icônes et descriptions des pages

Vous pouvez enrichir les pages avec des titres, des icônes et des descriptions à l’aide d’extensions personnalisées dans la section des balises. Tous les icônes Font Awesome sont pris en charge via x-page-icon.

openapi.yaml
tags:
  - name: pet
    # Titre de la page affiché dans la table des matières et sur la page
    x-page-title: Pet
    # Icône affichée dans la table des matières et à côté du titre de la page
    x-page-icon: dog
    # Description affichée juste au-dessus du titre
    x-page-description: Les animaux de compagnie sont incroyables !
    # Contenu de la page
    description: Tout sur vos animaux de compagnie

Créer des descriptions riches avec les blocs GitBook

Les champs de description des balises prennent en charge le Markdown GitBook, y compris les blocs avancés comme les onglets :

openapi.yaml
---
tags:
  - name: pet
    description: |
      Voici le détail des animaux de compagnie.

      {% tabs %}
      {% tab title="Dog" %}
      Voici les chiens
      {% endtab %}

      {% tab title="Cat" %}
      Voici les chats
      {% endtab %}

      {% tab title="Rabbit" %}
      Voici les lapins
      {% endtab %}
      {% endtabs %}

Mettre en évidence les schémas

Vous pouvez mettre en évidence un schéma dans une description GitBook en utilisant le Markdown GitBook. Voici un exemple qui met en évidence le schéma « Pet » de la spécification « petstore » :

openapi.yaml
---
tags:
  - name: pet
      description: |
          {% openapi-schemas spec="petstore" schemas="Pet" grouped="false" %}
              L’objet Pet
          {% endopenapi-schemas %}

Documenter un point de terminaison de webhook

GitBook prend également en charge la documentation des points de terminaison de webhook lors de l’utilisation d’OpenAPI 3.1.

Vous pouvez définir vos webhooks directement dans votre fichier OpenAPI en utilisant le champ webhooks qui fonctionne de manière similaire à paths pour les points de terminaison API classiques :

openapi.yaml
---
openapi: 3.1.0 # Les webhooks sont disponibles à partir d’OpenAPI 3.1

webhooks:
  newPet:
    post:
      summary: Nouvel événement d’animal de compagnie
      description: Informations sur un nouvel animal de compagnie dans le système
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/Pet"
      responses:
        "200":
          description: Renvoie un statut 200 pour indiquer que les données ont été reçues avec succès

Mis à jour

Ce contenu vous a-t-il été utile ?