Goa : des services à partir d’une conception

Markdown
Définissez le contrat API en Go. Générez types, transports, clients, validation et documentation.

Présentation

Goa construit des services Go à partir d’une conception. Décrivez types, opérations, erreurs et transports dans un langage spécifique au domaine (DSL) écrit en Go. Le générateur produit le code dérivé de ces décisions ; vous implémentez le comportement derrière les interfaces générées.

Créer votre premier service ou suivre le processus avec un agent de code.

Pourquoi cela aide les agents de code

L’agent part du contrat au lieu de le reconstruire depuis des gestionnaires, clients et schémas séparés. Il modifie la conception, régénère et utilise les erreurs du compilateur pour mettre à jour l’application. Le générateur écrit le code répétitif sans le faire rédiger au modèle. Fournissez la conception, l’interface utile et l’implémentation ; consultez les transports générés quand la tâche l’exige.

Fonctionnement

Concevoir

Définissez méthodes, données, résultats, validation et correspondances HTTP, gRPC ou JSON-RPC dans design/*.go. Descriptions et exemples alimentent la documentation API.

Générer

goa gen example.com/myservice/design

Les transports choisis déterminent les types, interfaces, serveurs, clients, validations, spécifications OpenAPI et définitions Protocol Buffer produites. Ne modifiez pas gen/ : il est remplacé. goa example crée les fichiers initiaux sans écraser les fichiers existants.

Implémenter

Écrivez logique métier, autorisation, persistance et tests. Après une modification de signature, régénérez et compilez pour repérer les implémentations et appels incompatibles.

Responsabilités

Vous et l’agent maintenez conception, décisions métier, logique, autorisation, démarrage et tests. Goa génère types, interfaces, routage, codecs, validation, clients et spécifications API. La validation vérifie les contraintes déclarées ; la justesse métier, la sécurité et la compatibilité avec les clients déployés exigent conception et tests.

Ajouter des capacités IA

Goa-AI utilise le même modèle pour les outils typés, réponses structurées et agents. Un outil peut réutiliser types et méthodes de service pour relier les contrats.

Guides

Commencez par le démarrage rapide, puis utilisez les guides de transport pour les tâches pratiques et la référence DSL pour modifier les conceptions.