Comment écrire une API REST en Java en 30 minutes
Le développement web moderne est impensable sans une API REST — un style architectural qui permet aux clients et aux serveurs d'échanger des données via le protocole HTTP. Java, grâce à sa fiabilité et à son immense écosystème, reste l'un des meilleurs langages pour créer des services backend. Dans cet article, nous allons montrer comment écrire en 30 minutes une API REST complète en Java avec Spring Boot — le framework le plus populaire pour les microservices. Vous créerez un service CRUD simple pour gérer une liste de tâches (Todo List), qui peut être déployé et testé immédiatement.
Qu'est-ce qu'une API REST et pourquoi Java ?
REST (Representational State Transfer) est un ensemble de principes où chaque ressource (par exemple, un utilisateur, une tâche ou un produit) possède une URL unique, et l'interaction se fait via les méthodes HTTP standard : GET (récupération), POST (création), PUT (mise à jour) et DELETE (suppression). Java avec le framework Spring Boot fournit des annotations et des outils prêts à l'emploi pour implémenter une API REST en quelques minutes. Vous n'avez pas besoin d'analyser manuellement le JSON ou de configurer le serveur — Spring fait tout cela.
Guide étape par étape : écrivez une API REST en Java en 30 minutes
Étape 1. Configuration du projet et des dépendances
Le moyen le plus rapide de commencer est d'utiliser Spring Initializr. Sélectionnez les paramètres suivants :
- Project : Maven
- Language : Java
- Spring Boot : 3.2.0 (ou la dernière version stable)
- Dependencies : Spring Web, Spring Data JPA, H2 Database
Cliquez sur "Generate", téléchargez l'archive ZIP et décompressez-la. Ouvrez le projet dans votre IDE (IntelliJ IDEA, Eclipse ou VS Code). Le fichier pom.xml doit contenir les dépendances suivantes :
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency></dependencies>La base de données H2 est un SGBD intégré en mémoire qui ne nécessite pas d'installation. Pour la production, vous la remplacerez par PostgreSQL ou MySQL.
Étape 2. Création du modèle de données (Entity)
Créez un package model et, à l'intérieur, la classe TodoItem.java. Ce sera l'entité qui correspond à une table dans la base de données.
package com.example.demo.model;
import jakarta.persistence.*;
@Entity@Table(name = "todos")public class TodoItem {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;
@Column(nullable = false) private String title;
private boolean completed;
// Constructeurs public TodoItem() {}
public TodoItem(String title, boolean completed) { this.title = title; this.completed = completed; }
// Getters et Setters public Long getId() { return id; } public void setId(Long id) { this.id = id; }
public String getTitle() { return title; } public void setTitle(String title) { this.title = title; }
public boolean isCompleted() { return completed; } public void setCompleted(boolean completed) { this.completed = completed; }}Ici, nous utilisons les annotations JPA : @Entity indique à Spring que la classe est une table, @Id est la clé primaire, et @GeneratedValue permet la génération automatique de l'ID.