File tree Expand file tree Collapse file tree 3 files changed +8
-12
lines changed
lesson_26/api/java/api_app/src/main/java/com/codedifferently/lesson26/web Expand file tree Collapse file tree 3 files changed +8
-12
lines changed Original file line number Diff line number Diff line change 1414@ Builder
1515public class CreateMediaItemRequest {
1616 @ NotNull (message = "item is required" ) @ Valid
17- @ JsonProperty ("item" )
1817 private MediaItemRequest item ;
1918}
Original file line number Diff line number Diff line change 1919@ NoArgsConstructor
2020@ Builder
2121public class MediaItemRequest {
22- @ JsonProperty ("id" )
2322 private UUID id ;
2423
25- @ JsonProperty ("type" )
2624 private String type ;
2725
28- @ JsonProperty ("isbn" )
2926 private String isbn ;
3027
31- @ JsonProperty ("title" )
3228 @ NotBlank (message = "Title is required" )
3329 private String title ;
3430
35- @ JsonProperty ("authors" )
3631 private String [] authors ;
3732
38- @ JsonProperty ("edition" )
3933 private String edition ;
4034
41- @ JsonProperty ("pages" )
4235 private int pages ;
4336
44- @ JsonProperty ("runtime" )
4537 private int runtime ;
4638
4739 public static MediaItem asMediaItem (MediaItemRequest request ) {
Original file line number Diff line number Diff line change 77import jakarta .validation .Valid ;
88import java .io .IOException ;
99import java .util .List ;
10+ import java .util .Optional ;
1011import java .util .Set ;
1112import java .util .UUID ;
1213import org .springframework .http .ResponseEntity ;
@@ -61,8 +62,6 @@ public CreateMediaItemResponse createMediaItem(@RequestBody @Valid CreateMediaIt
6162
6263 MediaItemRequest itemRequest = request .getItem ();
6364
64- System .out .println (request );
65-
6665 var item = MediaItemRequest .asMediaItem (itemRequest );
6766
6867 library .addMediaItem (item , librarian );
@@ -76,7 +75,13 @@ public CreateMediaItemResponse createMediaItem(@RequestBody @Valid CreateMediaIt
7675 @ DeleteMapping ("/items/{id}" )
7776 public ResponseEntity <Void > deleteItem (@ PathVariable ("id" ) UUID id ) {
7877
79- if (getItemById (id ).getBody () == null ) {
78+ SearchCriteria query = new SearchCriteria ();
79+ Set <MediaItem > items = library .search (query );
80+ Optional <MediaItem > item = items .stream ()
81+ .filter (mediaItem -> mediaItem .getId ().equals (id ))
82+ .findFirst ();
83+
84+ if (item .isEmpty ()) {
8085 return ResponseEntity .notFound ().build ();
8186 }
8287
You can’t perform that action at this time.
0 commit comments