OpenAPI en types TypeScript
Convertissez un document OpenAPI ou Swagger en interfaces et types TypeScript.
OpenAPI en types TypeScript
Collez un document OpenAPI 3 ou Swagger 2 — JSON ou YAML — et cet outil génère des interfaces TypeScript correspondantes pour chaque schéma dans components/schemas, plus un type par endpoint pour ses paramètres de chemin et de requête, corps de requête et réponses. Il économise l'étape d'écrire manuellement les types API chaque fois que la spécification change, et maintient le client synchronisé avec ce que le serveur retourne réellement.
Les options contrôlent la forme de la sortie. Choisissez des déclarations interface ou type, et décidez comment les champs nullables sont représentés : comme une propriété optionnelle (x?: string) ou comme une union avec null (x: string | null). Les références $ref peuvent rester comme des types nommés pointant vers l'interface correspondante, ou être développées en ligne partout où elles sont utilisées. Désactivez « générer les types de chemin, paramètre et réponse » pour obtenir uniquement les schémas de composants, ou activez une union de code de statut pour voir chaque code de réponse qu'un endpoint peut retourner comme un seul type. Les descriptions de la spécification deviennent des commentaires JSDoc au-dessus de chaque champ, et un préfixe de nom évite que les types générés ne collisionnent avec les vôtres lorsque vous les collez dans une base de code plus grande.
L'analyseur lit les constructions OpenAPI standard — schémas d'objet et de tableau, énumérations, oneOf/anyOf/allOf, nullable, additionalProperties — et suit les pointeurs $ref locaux dans le même document. Les endpoints marqués comme dépréciés peuvent être complètement ignorés, et un document qui ne ressemble pas à OpenAPI (pas de section components/schemas ou paths) produit une erreur claire au lieu d'une sortie vide.
Tout s'exécute localement dans votre navigateur — votre spécification API, qui peut décrire un produit non lancé ou un système interne, n'est jamais uploadée nulle part. Copiez les types générés, téléchargez-les en tant que fichier .txt à coller dans un fichier .ts, ou renvoyez la sortie directement à l'entrée pour continuer à l'affiner.