diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserTinyDTO.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserTinyDTO.java new file mode 100644 index 0000000..9d31d69 --- /dev/null +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/DTO/UserTinyDTO.java @@ -0,0 +1,14 @@ +package org.acme.Api.DTO; + +import io.quarkus.hibernate.reactive.panache.common.ProjectedFieldName; +import io.quarkus.runtime.annotations.RegisterForReflection; + +@RegisterForReflection +public class UserTinyDTO { + public Long id; + public String name; + public UserTinyDTO(Long id, String name) { + this.id = id; + this.name = name; + } +} diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/UserController.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/UserController.java index f01fdcf..16eccfc 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/UserController.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/controllers/UserController.java @@ -22,6 +22,7 @@ import javax.ws.rs.core.Response.Status; import io.quarkus.hibernate.reactive.panache.PanacheQuery; import org.acme.Api.DTO.UserDTO; +import org.acme.Api.DTO.UserTinyDTO; import org.acme.Api.service.UserService; import org.acme.Hibernates.entities.UserEntity; import org.jboss.logging.Logger; @@ -42,9 +43,9 @@ public class UserController { @GET @Produces(MediaType.APPLICATION_JSON) - public Uni> getUsers() { + public Uni> getUsers() { LOGGER.info("Getting all users and ordering it by name"); - return service.findAll().project(UserDTO.class).list(); + return service.findAll().project(UserTinyDTO.class).list(); } // @GET @@ -65,7 +66,7 @@ public class UserController { @Path("/{id}") public Uni getUserById(@PathParam("id") Long id) { LOGGER.info("Get user with id : " + id); - return service.findById(id) + return service.findByBowlinId(id) .onItem() .transform( entity -> entity == null ? Response.status(Status.NOT_FOUND) : Response.ok(entity).status(200)) diff --git a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/UserService.java b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/UserService.java index e6ddd53..55fee69 100644 --- a/Sources/API/Quarkus/src/main/java/org/acme/Api/service/UserService.java +++ b/Sources/API/Quarkus/src/main/java/org/acme/Api/service/UserService.java @@ -4,6 +4,7 @@ import java.util.List; import javax.enterprise.context.ApplicationScoped; +import org.acme.Api.DTO.UserDTO; import org.acme.Hibernates.entities.UserEntity; import io.quarkus.hibernate.reactive.panache.PanacheRepository; @@ -19,6 +20,10 @@ public class UserService implements PanacheRepository { return list("name", name); } + public Uni> findByBowlinId(Long id) { + return find("id", id).project(UserDTO.class).list(); + } + // public Uni deleteUser() { // return delete("name", "Stef"); // }