Un modèle API minimal ASP .NET productif
Il s'agit d'un référentiel de modèle montrant comment on peut implémenter une API propre avec ASP.NET en utilisant des API minimales. L'accent mis sur les «fonctionnalités» de ce modèle est sur la productivité des développeurs, les caractéristiques réelles de l'API elle-même ont été maintenues basiques. N'hésitez pas à copier ce référentiel ou à en réutiliser des parties, n'oubliez pas de donner une étoile si vous le faites.
Certaines fonctionnalités de ce modèle:
- Architecture de tranche verticale (regroupement basé sur des fonctionnalités au lieu de couches techniques)
- Une configuration facile à utiliser et rapide pour exécuter les tests d'intégration qui s'exécute en quelques secondes avec la seule dépendance étant Docker avec l'utilisation de TestExamplesdDotNet
- Authentification et autorisation à l'aide de jetons JWT. Ceci est également utilisé par les tests, ce qui signifie que vous pouvez vérifier si votre authentification et votre autorisation fonctionnent correctement à l'intérieur des tests.
- Prêt pour l'opentélémétrie
- LaunchProfile pour la montre dotnet
- Build automatisé à l'aide d'actions GitHub qui vérifie le formatage de code, construit et exécute les tests.
Tests en cours d'exécution
Seul Docker est nécessaire pour exécuter les tests (Tip: Podman est libre à utiliser). La première course peut prendre un peu plus de temps lorsque l'image Docker est téléchargée. Exécutez la commande suivante pour exécuter les tests:
Exécution de l'application
- Générez d'abord un JWT que vous pouvez utiliser pour les tests locaux:
dotnet user-jwts create --role " read " --role " write "
Remarque: Les points de terminaison des emplois et du département ne nécessitent que l'authentification, mais les points de terminaison des employés exigent que vous ayez les bonnes allégations dans le jeton JWT.
- Exécutez la base de données à l'aide du docker-compose.yaml fourni. Effectue également un tableau de bord Aspire dans le fichier Compose pour voir facilement la sortie OpenTelemetry.
- Exécutez l'application. Vous pouvez explorer les points de terminaison à l'aide de Swagger sur
https://localhost:7162/swagger .