D’une réponse d’exemple aux types
Le travail avec une API commence presque toujours pareil : vous avez une réponse JSON et il vous faut un type. Collez la réponse à gauche et le TypeScript correspondant apparaît à droite, prêt pour un fichier .ts. Rien à saisir à la main, et une charge à dix niveaux prend autant de temps qu’une à deux niveaux.
De la charge utile à la déclaration
- Collez votre JSON dans la zone de gauche ou appuyez sur Exemple pour voir le fonctionnement.
- Indiquez le nom du type principal, par exemple
UserouApiResponse. - Choisissez entre
interfaceettype, et cochez export ou lecture seule si nécessaire. - Vérifiez le résultat à droite. Une erreur de syntaxe est signalée à la place des types.
- Utilisez Copier ou Télécharger .ts pour récupérer le code.
Comment les types sont déduits
- Chaînes, nombres, booléens et null deviennent le type TypeScript correspondant.
- Un objet imbriqué devient sa propre interface, nommée d’après sa clé en PascalCase. La clé
shipping_addressdonneShippingAddress. - Dans les tableaux, tous les éléments sont fusionnés. Une clé présente dans certains seulement est marquée facultative par un point d’interrogation, et des valeurs de natures différentes forment une union comme
string | number. - Deux objets de forme strictement identique partagent une interface au lieu de produire deux copies.
- Un tableau vide donne
unknown[], un objet vide donneRecord<string, unknown>.
Les limites d’une déduction à partir d’un échantillon
Un échantillon ne montre que ce qu’il contient. Un champ toujours renseigné dans votre exemple peut valoir null en production, et un nombre qui ressemble à un identifiant peut être une chaîne ailleurs. Les dates arrivent sous forme de chaînes et sont donc typées string. Considérez le résultat comme un premier jet à affiner à la main, ou validez les réponses réelles à l’exécution si les données ne dépendent pas de vous.
Vos données restent privées
La conversion s’exécute dans la page. Les réponses de production, jetons et données personnelles d’un échantillon collé ne sont envoyés à aucun serveur, vous pouvez donc utiliser des données réelles.