From e846d04e21b40ac17f5c89eb2fd34b2fdf3c0653 Mon Sep 17 00:00:00 2001 From: Otavio Santana Date: Sun, 1 Dec 2024 20:08:05 +0000 Subject: [PATCH] feat: update goal with list instead of int Signed-off-by: Otavio Santana --- src/main/java/os/expert/sample/Goal.java | 11 ++++++++++- src/main/java/os/expert/sample/GoalResource.java | 8 +++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/os/expert/sample/Goal.java b/src/main/java/os/expert/sample/Goal.java index 87bc6f0..3f02545 100644 --- a/src/main/java/os/expert/sample/Goal.java +++ b/src/main/java/os/expert/sample/Goal.java @@ -1,11 +1,20 @@ package os.expert.sample; +import jakarta.json.bind.annotation.JsonbProperty; +import jakarta.json.bind.annotation.JsonbPropertyOrder; import jakarta.nosql.Column; import jakarta.nosql.Entity; import jakarta.nosql.Id; import java.util.List; +@JsonbPropertyOrder({"id", "title", "description", "priority", "tasks"}) @Entity -public record Goal(@Id String title, @Column String description, @Column int priority, @Column List tasks) { +public record Goal( + @Id @JsonbProperty("id") String id, + @JsonbProperty("title") @Column String title, + @JsonbProperty("description") @Column String description, + @JsonbProperty("priority") @Column int priority, + @JsonbProperty("tasks") @Column List tasks) { + } diff --git a/src/main/java/os/expert/sample/GoalResource.java b/src/main/java/os/expert/sample/GoalResource.java index 5e256c6..18f408f 100644 --- a/src/main/java/os/expert/sample/GoalResource.java +++ b/src/main/java/os/expert/sample/GoalResource.java @@ -2,16 +2,22 @@ import jakarta.inject.Inject; +import jakarta.ws.rs.Consumes; import jakarta.ws.rs.DefaultValue; import jakarta.ws.rs.GET; +import jakarta.ws.rs.POST; import jakarta.ws.rs.PUT; import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; import jakarta.ws.rs.QueryParam; +import jakarta.ws.rs.core.MediaType; import java.util.List; import java.util.logging.Logger; @Path("/goals") +@Consumes(MediaType.APPLICATION_JSON) +@Produces(MediaType.APPLICATION_JSON) public class GoalResource { private static final Logger LOGGER = Logger.getLogger(GoalResource.class.getName()); @@ -35,7 +41,7 @@ public List goals(@QueryParam("page") @DefaultValue("1") int page, return goalService.findGoals(page, size); } - @PUT + @POST public Goal create(Goal goal) { LOGGER.info("Creating a goal: " + goal); return goalService.save(goal);