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 .NET Core. Pour cela, on peut utiliser la commande suivante :

dotnet new webapi --use-controllers --use-program-main --no-https --name ConfitureApi

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

  • --use-controllers : Crée un contrôleur par défaut.
  • --use-program-main : Utilise la classe Program et la fonction Main pour démarrer l'application.
  • --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 : Classe Program contenant la fonction Main pour démarrer l'application.
  • 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.