Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Structure d’un projet Web API

Pour créer un projet Web API, il faut d’abord créer un projet ASP.NET Core 11. Pour cela, on peut utiliser la commande suivante :

dotnet new webapi --framework net11.0 --use-controllers --no-https --name ConfitureApi

Cette commande va créer un projet Web API nommé ConfitureApi avec les options suivantes :

  • --framework net11.0 : Cible .NET 11.
  • --use-controllers : Crée un contrôleur par défaut.
  • --no-https : Désactive le support HTTPS.
  • --name ConfitureApi : Donne le nom ConfitureApi au projet.

Structure du projet

Voici la structure de fichiers et de dossiers générée par la commande précédente :

ConfitureApi/
├── Controllers/
│   └── WeatherForecastController.cs
├── Properties/
│   └── launchSettings.json
├── appsettings.json
├── ConfitureApi.csproj
├── Program.cs
└── WeatherForecast.cs
  • Controllers/ : Dossier contenant les contrôleurs de l’API. C’est ici que l’on définit les routes et les actions.
  • Controllers/WeatherForecastController.cs : Contrôleur par défaut généré par la commande.
  • Properties/ : Dossier contenant les fichiers de configuration.
  • appsettings.json : Fichier de configuration de l’application.
  • ConfitureApi.csproj : Fichier de configuration du projet.
  • Program.cs : Contient les instructions de premier niveau qui configurent et démarrent l’application. L’option facultative --use-program-main permet de les placer dans une méthode Main explicite.
  • WeatherForecast.cs : Modèle de données pour les prévisions météo.

On utilise généralement :

  • le dossier Controllers pour stocker les contrôleurs de l’API
  • le dossier Models (pas crée automatiquement)pour les modèles de données,
  • le dossier Services pour les services utilisés par l’API.
  • le dossier Migrations pour les migrations de base de données.

Contrôleur par défaut

Le contrôleur WeatherForecastController généré par défaut contient une action Get qui renvoie des prévisions météo aléatoires.