Enterprise Intermédiaire

Remplace le vaste code répétitif d'HttpServlet par des classes de ressources JAX-RS déclaratives.

✕ Java EE
@WebServlet("/users")
public class UserServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req,
                         HttpServletResponse res)
            throws ServletException, IOException {
        String id = req.getParameter("id");
        res.setContentType("application/json");
        res.getWriter().write("{\"id\":\"" + id + "\"}");
    }
}
✓ Jakarta EE 8+
@Path("/users")
public class UserResource {
    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public Response getUser(
            @QueryParam("id") String id) {
        return Response.ok(new User(id)).build();
    }
}
Un problème avec ce code ? Dites-le nous.
📐

Routage déclaratif

Les annotations définissent la méthode HTTP, le chemin et le type de contenu au lieu d'un dispatch impératif avec if/else.

🔄

Marshalling automatique

Retournez des POJOs directement ; le runtime les sérialise en JSON ou XML selon @Produces.

🧪

Tests plus faciles

Les classes de ressources sont de simples objets Java, testables sans conteneur de servlets.

Ancienne Approche
HttpServlet
Approche Moderne
Ressource JAX-RS
Depuis JDK
11
Difficulté
Intermédiaire
Servlet versus JAX-RS
Disponible

Disponible depuis Jakarta EE 8 / Java 11

JAX-RS (Jakarta RESTful Web Services) permet d'exposer des endpoints REST en utilisant de simples annotations comme @GET, @Path et @Produces. Fini l'analyse manuelle des paramètres de requête ni la configuration des types de contenu dans la réponse — le runtime gère le marshalling et le routage automatiquement.

Partager 𝕏 🦋 in