Skip to content

Commit 4b9b7ac

Browse files
committed
include a new resource to the find by
Signed-off-by: Otavio Santana <[email protected]>
1 parent 37196b3 commit 4b9b7ac

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/main/java/os/expert/sample/GoalResource.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,12 @@
88
import jakarta.ws.rs.POST;
99
import jakarta.ws.rs.PUT;
1010
import jakarta.ws.rs.Path;
11+
import jakarta.ws.rs.PathParam;
1112
import jakarta.ws.rs.Produces;
1213
import jakarta.ws.rs.QueryParam;
14+
import jakarta.ws.rs.WebApplicationException;
1315
import jakarta.ws.rs.core.MediaType;
16+
import jakarta.ws.rs.core.Response;
1417

1518
import java.util.List;
1619
import java.util.logging.Logger;
@@ -46,4 +49,12 @@ public Goal create(Goal goal) {
4649
LOGGER.info("Creating a goal: " + goal);
4750
return goalService.save(goal);
4851
}
52+
53+
@GET
54+
@Path("{id}")
55+
public Goal findById(@PathParam("id") String id) {
56+
LOGGER.info("Finding a goal by id: " + id);
57+
return goalService.findById(id).orElseThrow(() -> new WebApplicationException("Goal not found with id: " + id,
58+
Response.Status.NOT_FOUND));
59+
}
4960
}

src/main/java/os/expert/sample/GoalService.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.eclipse.jnosql.mapping.DatabaseType;
1111

1212
import java.util.List;
13+
import java.util.Optional;
1314

1415
@ApplicationScoped
1516
public class GoalService {
@@ -36,4 +37,9 @@ public List<Goal> findGoals(int page, int size) {
3637
public Goal save(Goal goal) {
3738
return newYearWishes.save(goal);
3839
}
40+
41+
public Optional<Goal> findById(String id) {
42+
var keyPrefix = "Goal/" +id;
43+
return newYearWishes.findById(keyPrefix);
44+
}
3945
}

0 commit comments

Comments
 (0)