Comment écrire une API REST en C# en 30 minutes : guide pas à pas

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction : REST API en C# — c'est simple



REST API (Representational State Transfer) est un style architectural qui permet aux clients et aux serveurs d'échanger des données via HTTP. Dans le développement web moderne, l'API est le standard de facto pour créer le backend d'applications mobiles, de sites web et de microservices. Sur la plateforme .NET (C#), le développement d'API REST est hautement optimisé : vous pouvez obtenir un prototype fonctionnel en seulement une demi-heure, même si vous êtes débutant.



Dans cet article, nous allons créer une API REST complète pour gérer une liste de tâches (ToDo List). Vous apprendrez à configurer un projet ASP.NET Core Web API, à créer un modèle de données, à implémenter les opérations CRUD (Create, Read, Update, Delete) et à tester l'API via Swagger. L'ensemble du processus ne prendra pas plus de 30 minutes.



1. Création du projet et installation des dépendances



Commencez par ouvrir Visual Studio 2022 (ou Visual Studio Code avec le .NET SDK 6.0/7.0/8.0 installé). Suivez les étapes suivantes :



  1. Sélectionnez Créer un nouveau projet → ASP.NET Core Web API.
  2. Nommez le projet, par exemple TodoApi.
  3. Assurez-vous que le framework .NET 8.0 (ou supérieur) est sélectionné.
  4. Décochez Use controllers si vous souhaitez utiliser l'API minimale, mais dans ce tutoriel, nous utiliserons les contrôleurs classiques — laissez la case cochée.
  5. Cliquez sur Créer.


Après la création du projet, la structure ressemblera à ceci :



TodoApi/├── Controllers/├── Models/├── Program.cs└── appsettings.json


Aucune installation de paquets supplémentaires n'est nécessaire — tous les composants requis sont déjà intégrés dans ASP.NET Core.



2. Création du modèle de données et du contexte de base de données



2.1. Modèle TodoItem



Créez un dossier Models et ajoutez-y la classe TodoItem.cs :



namespace TodoApi.Models;

public class TodoItem{ public int Id { get; set; } public string? Title { get; set; } public bool IsComplete { get; set; }}


Il s'agit d'un modèle minimal : un identifiant, le titre de la tâche et un indicateur d'achèvement.



2.2. Contexte de base de données



Créons maintenant le contexte pour Entity Framework Core. Dans le dossier Data (créez-le), ajoutez la classe TodoContext.cs :



using Microsoft.EntityFrameworkCore;using TodoApi.Models;

namespace TodoApi.Data;

public class TodoContext : DbContext{ public TodoContext(DbContextOptions<TodoContext> options) : base(options) { }

public DbSet<TodoItem> TodoItems { get; set; }}


2.3. Configuration de Program.cs



Ouvrez Program.cs et ajoutez l'enregistrement du contexte et de Swagger :



using Microsoft.EntityFrameworkCore;using TodoApi.Data;

var builder = WebApplication.CreateBuilder(args);

// Ajout des contrôleursbuilder.Services.AddControllers();

// Enregistrement du contexte de base de données (utilisation d'InMemory pour simplifier)builder.Services.AddDbContext<TodoContext>(opt => opt.UseInMemoryDatabase("TodoList"));

// Swaggerbuilder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();

var app = builder.Build();

if (app.Environment.IsDevelopment()){ app.UseSwagger(); app.UseSwaggerUI();}

app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();

app.Run();


Remarque : nous utilisons UseInMemoryDatabase — c'est pratique pour le prototypage. Dans un projet réel, remplacez-le par SQL Server, PostgreSQL ou une autre base de données.



3. Implémentation du contrôleur avec les opérations CRUD



Voici l'étape la plus importante — le contrôleur. Créez dans le dossier Controllers le fichier TodoItemsController.cs :



using Microsoft.AspNetCore.Mvc;\                

Blogs

Book Recommendations