Enterprise Intermedio

Reemplaza el extenso código repetitivo de HttpServlet por clases de recursos JAX-RS declarativas.

✕ 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();
    }
}
¿Ves un problema con este código? Cuéntanos.
📐

Enrutamiento declarativo

Las anotaciones definen el método HTTP, la ruta y el tipo de contenido en lugar de despacho imperativo con if/else.

🔄

Marshalling automático

Retorna POJOs directamente; el runtime los serializa a JSON o XML según @Produces.

🧪

Pruebas más fáciles

Las clases de recursos son objetos Java simples, testeables sin un contenedor de servlets.

Enfoque Antiguo
HttpServlet
Enfoque Moderno
Recurso JAX-RS
Desde JDK
11
Dificultad
Intermedio
Servlet versus JAX-RS
Disponible

Ampliamente disponible desde Jakarta EE 8 / Java 11

JAX-RS (Jakarta RESTful Web Services) permite exponer endpoints REST usando anotaciones simples como @GET, @Path y @Produces. Sin más análisis manual de parámetros de solicitud ni configuración de tipos de contenido en la respuesta — el runtime maneja el marshalling y el enrutamiento automáticamente.

Compartir 𝕏 🦋 in