Générer des schémas Zod automatiquement depuis une API REST
Génère automatiquement des schémas de validation Zod et leurs types TypeScript inférés à partir d'un exemple de réponse JSON d'une API REST.
Coller dans votre IA
Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.
Tu es un expert TypeScript spécialisé en validation de données avec Zod. À partir de la réponse JSON suivante provenant de l'endpoint [ENDPOINT_URL] de l'API [NOM_API], génère les schémas Zod complets et optimisés.
Voici un exemple de réponse JSON de l'API :
[EXEMPLE_REPONSE_JSON]
Consignes précises :
- Analyse chaque champ du JSON : type, nullabilité, format (date, email, UUID, URL…), et valeurs possibles (enum).
- Génère un schéma Zod principal et des sous-schémas pour chaque objet imbriqué.
- Utilise les bons validateurs Zod : z.string().uuid(), z.string().email(), z.string().datetime(), z.coerce.date(), z.enum([...]), z.discriminatedUnion(), etc.
- Ajoute des .describe() sur chaque champ pour documenter le schéma.
- Exporte le type TypeScript inféré avec z.infer<typeof schema>.
- Si la réponse est paginée, crée un schéma générique de pagination réutilisable.
- Génère une fonction de parsing typesafe pour valider les réponses fetch :
- Gestion d'erreur avec ZodError formaté
- Version safe (safeParse) et stricte (parse)
- Ajoute des transformations .transform() si des champs nécessitent une conversion (string → Date, string → number).
Format de sortie attendu :
- Un fichier schemas/[nom-ressource].schema.ts avec les schémas
- Un fichier types/[nom-ressource].types.ts avec les types inférés
- Un fichier lib/api-parser.ts avec les fonctions de parsing
- Des commentaires JSDoc sur chaque export
Personnaliser ce prompt avec Léa
Réponds à 3 questions, Léa adapte le prompt à ta situation.
Pourquoi ce prompt fonctionne
<p>Ce prompt transforme n'importe quelle réponse JSON d'API en schémas <strong>Zod</strong> robustes et typés. Au lieu d'écrire manuellement vos validateurs, vous fournissez simplement un exemple de réponse et l'IA analyse chaque champ pour choisir le validateur le plus précis : <strong>z.string().uuid()</strong> pour les identifiants, <strong>z.string().datetime()</strong> pour les dates ISO, <strong>z.enum()</strong> pour les valeurs finies, etc.</p><p>L'approche est structurée en trois fichiers distincts pour respecter la <strong>séparation des responsabilités</strong> : les schémas Zod dans un fichier dédié, les types TypeScript inférés via <strong>z.infer</strong> dans un autre, et les fonctions de parsing dans un module utilitaire. Cette organisation facilite la maintenance et le partage des types entre le frontend et le backend.</p><p>Pour maximiser les résultats, fournissez une réponse JSON <strong>la plus complète possible</strong>, incluant les cas limites : champs nullables, tableaux vides, objets imbriqués et réponses paginées. Plus l'exemple est riche, plus les schémas générés seront précis et couvriront les cas d'erreur en production.</p>
Cas d'usage
Résultat attendu
Trois fichiers TypeScript prêts à l'emploi : un fichier de schémas Zod avec validateurs précis et descriptions, un fichier de types inférés exportables, et un module de parsing typesafe avec gestion d'erreurs formatées.
Améliorez ce prompt
Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.
Améliore ce prompt avec l'OptimiseurCommentaires
Sois le premier à commenter ce prompt.
Termes du glossaire
📬 Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter et ne manquez aucun prompt.
Pour aller plus loin
Prompts similaires
Prompt pour maîtriser les types avancés en TypeScript
Un prompt pour générer des types TypeScript avancés (generics, mapped types, conditional types) avec documentation et tests de types intégrés.
Test d'idées d'activation
Générer des idées d'expériences d'activation
Network policies pour micro-segmentation
Isoler les workloads avec des network policies
Stratégie de rollout progressif
Déploiement progressif d'un nouveau modèle