dotnet-apilerplate
Un projet de buissier / modèle .Net 5.0 Webapi / modèle. Référentiels, Swagger, Mapper, Serilog et plus mis en œuvre.
L'objectif de ce projet est d'être un kickstart pour votre .NET WebAPI, implémentant les modèles et technologies les plus courants pour une API RESTful dans .NET, ce qui facilite votre travail.
Comment courir
- Utilisez ce modèle (github) ou clone / téléchargement sur votre lieu de travail local.
- Téléchargez le dernier SDK .NET et Visual Studio / Code.
Autonome
- Vous pouvez avoir besoin d'une instance en cours d'exécution de MSSQL, avec des migrations appropriées initialisées.
- Vous pouvez exécuter uniquement la base de données sur Docker. Pour cela, vous devez modifier votre chaîne de connexion en "Server = 127.0.0.1; database = Master; user = sa; mot de passe = yourpassword123” et exécuter la commande suivante:
docker-compose up -d db-server . Ce faisant, l'application pourra atteindre le conteneur DE du serveur DB. - Si vous le souhaitez, vous pouvez modifier la databaseextension pour utiliser useInMemoryDatabase, au lieu de MSSQL.
- Accédez au dossier SRC / Boilerplate.API et exécutez
dotnet run , ou, dans Visual Studio, définissez le projet API en tant que démarrage et exécutez Console ou Docker (pas IIS). - Visitez http: // localhost: 5000 / api-docs ou https: // localhost: 5001 / api-docs pour accéder au fanfaron de l'application.
Docker
- Exécutez
docker-compose up -d dans le répertoire racine, ou, dans Visual Studio, définissez le projet Docker-Compose en tant que démarrage et exécution. Cela devrait démarrer l'application et la base de données.
- Pour Docker-Compose, vous devez exécuter cette commande dans le dossier racine:
dotnet dev-certs https -ep https/aspnetapp.pfx -p yourpassword Remplacez "YourPassword" par quelque chose d'autre dans cette commande et le fichier docker-compose.override.yml. Cela crée le certificat HTTPS.
- Visitez http: // localhost: 5000 / api-docs ou https: // localhost: 5001 / api-docs pour accéder au fanfaron de l'application.
Tests en cours d'exécution
Dans le dossier racine, exécutez dotnet test . Cette commande essaiera de trouver tous les projets de test associés au fichier SLN.
Ce projet contient:
- Fanfaron
- EntityFramework
- Automappeur
- Référentiel générique (pour facilement amorcer un référentiel CRUD)
- Selerilog avec journalisation de la demande et éviers facilement configurables
- Injection de dépendance .NET
- Filtrage des ressources
- Compression de réponse
- CI (actions github)
- Tests unitaires
- Tests d'intégration
- Prise en charge des conteneurs avec Docker et Docker-Compose
Structure du projet
- Services
- Ce dossier stocke vos API et tout projet qui envoie des données à vos utilisateurs.
- Boilerplate.api
- Ceci est le projet API principal. Voici tous les contrôleurs et l'initialisation de l'API qui seront utilisés.
- composer docker
- Ce projet existe pour vous permettre d'exécuter Docker-Compose avec Visual Studio. Il contient une référence au fichier docker-compose et construire toutes les dépendances de projets et l'exécutera.
- Application
- Ce dossier stocke toutes les transformations de données entre votre API et votre couche de domaine. Il contient également votre logique commerciale.
- Domaine
- Ce dossier contient vos modèles commerciaux, vos énumérations et vos interfaces communes.
- Boilerplate.domain.core
- Contient l'entité de base pour toutes les autres entités de domaine, ainsi que l'interface de l'implémentation du référentiel.
- Chauffe-plaque.domain
- Contient des modèles commerciaux et des énumérations.
- Infra
- Ce dossier contient tous les référentiels d'accès aux données, les contextes de base de données, tout ce qui atteint des données extérieures.
- Boiler-plateau.infrastructure
- Ce projet contient le DBContext, une implémentation générique du modèle de référentiel et un référentiel héros (classe de domaine).
Adopter à votre projet
- Supprimer / renommer toutes les choses liées au héros à vos besoins.
- Renommer la solution, les projets, les espaces de noms et le jeu de règles à votre utilisation.
- Changez le dockerfile et docker-compose.yml en vos nouveaux noms de dossiers CSPROJ /.
- Donnez une étoile à ce référentiel!
Migrations
Pour exécuter des migrations sur ce projet, exécutez la commande suivante dans le dossier racine:
-
dotnet ef migrations add InitialCreate --startup-project .srcBoilerplate.Api --project .srcBoilerplate.Infrastructure
Cette commande définira le point d'entrée pour la migration (le responsable de la sélection du DBProvider {SqlServer, MySQL, etc. et de la chaîne de connexion) et le projet lui-même sera l'infrastructure, où se trouve le DBContext.
Si vous l'aimez, donnez-lui une étoile
Si ce modèle vous a été utile, ou si vous avez appris quelque chose, veuillez lui donner une étoile!
Merci
Ce projet a une grande influence de https://github.com/lkurzyiec/netcore-boilerplate et https://github.com/eduardopires/equinoxproject. Si vous avez le temps, veuillez visiter ces dépositions et leur donner une étoile aussi!
À propos
Ce chaudron / modèle a été développé par Yan Pitangui sous la licence MIT.