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 14
14
@ Builder
15
15
public class CreateMediaItemRequest {
16
16
@ NotNull (message = "item is required" ) @ Valid
17
- @ JsonProperty ("item" )
18
17
private MediaItemRequest item ;
19
18
}
Original file line number Diff line number Diff line change 19
19
@ NoArgsConstructor
20
20
@ Builder
21
21
public class MediaItemRequest {
22
- @ JsonProperty ("id" )
23
22
private UUID id ;
24
23
25
- @ JsonProperty ("type" )
26
24
private String type ;
27
25
28
- @ JsonProperty ("isbn" )
29
26
private String isbn ;
30
27
31
- @ JsonProperty ("title" )
32
28
@ NotBlank (message = "Title is required" )
33
29
private String title ;
34
30
35
- @ JsonProperty ("authors" )
36
31
private String [] authors ;
37
32
38
- @ JsonProperty ("edition" )
39
33
private String edition ;
40
34
41
- @ JsonProperty ("pages" )
42
35
private int pages ;
43
36
44
- @ JsonProperty ("runtime" )
45
37
private int runtime ;
46
38
47
39
public static MediaItem asMediaItem (MediaItemRequest request ) {
Original file line number Diff line number Diff line change 7
7
import jakarta .validation .Valid ;
8
8
import java .io .IOException ;
9
9
import java .util .List ;
10
+ import java .util .Optional ;
10
11
import java .util .Set ;
11
12
import java .util .UUID ;
12
13
import org .springframework .http .ResponseEntity ;
@@ -61,8 +62,6 @@ public CreateMediaItemResponse createMediaItem(@RequestBody @Valid CreateMediaIt
61
62
62
63
MediaItemRequest itemRequest = request .getItem ();
63
64
64
- System .out .println (request );
65
-
66
65
var item = MediaItemRequest .asMediaItem (itemRequest );
67
66
68
67
library .addMediaItem (item , librarian );
@@ -76,7 +75,13 @@ public CreateMediaItemResponse createMediaItem(@RequestBody @Valid CreateMediaIt
76
75
@ DeleteMapping ("/items/{id}" )
77
76
public ResponseEntity <Void > deleteItem (@ PathVariable ("id" ) UUID id ) {
78
77
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 ()) {
80
85
return ResponseEntity .notFound ().build ();
81
86
}
82
87
You can’t perform that action at this time.
0 commit comments