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 :
- Sélectionnez Créer un nouveau projet → ASP.NET Core Web API.
- Nommez le projet, par exemple
TodoApi. - Assurez-vous que le framework .NET 8.0 (ou supérieur) est sélectionné.
- 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.
- Cliquez sur Créer.
Après la création du projet, la structure ressemblera à ceci :
TodoApi/├── Controllers/├── Models/├── Program.cs└── appsettings.jsonAucune 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;\