From b63f1ef054a35bd3edf2e0022fa91d947091b7b0 Mon Sep 17 00:00:00 2001 From: Vincent Guillet Date: Fri, 23 May 2025 11:25:56 +0200 Subject: [PATCH] Add UserController class for user management endpoints --- .../controller/UserController.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 hibernate-project/src/main/java/com/humanbooster/controller/UserController.java diff --git a/hibernate-project/src/main/java/com/humanbooster/controller/UserController.java b/hibernate-project/src/main/java/com/humanbooster/controller/UserController.java new file mode 100644 index 0000000..ce661ae --- /dev/null +++ b/hibernate-project/src/main/java/com/humanbooster/controller/UserController.java @@ -0,0 +1,50 @@ +package com.humanbooster.controller; + +import com.humanbooster.config.HibernateConfig; +import com.humanbooster.dao.UserDao; +import com.humanbooster.model.User; +import jakarta.ws.rs.*; +import jakarta.ws.rs.core.MediaType; +import org.hibernate.SessionFactory; + +import java.util.List; + +@Path("/users") +@Produces(MediaType.APPLICATION_JSON) +@Consumes(MediaType.APPLICATION_JSON) +public class UserController { + + SessionFactory sessionFactory = HibernateConfig.getSessionFactory(); + + private final UserDao dao = new UserDao(sessionFactory); + + @GET + public List getAll() { + return dao.findAll(); + } + + @GET + @Path("/{id}") + public User getById(@PathParam("id") Long id) { + return dao.read(id); + } + + @POST + public void create(User person) { + dao.create(person); + } + + @PUT + @Path("/{id}") + public void update(@PathParam("id") Long id, User user) { + user.setId(id); + dao.update(user); + } + + @DELETE + @Path("/{id}") + public void delete(@PathParam("id") Long id) { + System.out.println(); + dao.delete(id); + } +}