1
1
package com .codedifferently .lesson26 .web ;
2
2
3
- import com .codedifferently .lesson26 .library .Librarian ;
4
- import com .codedifferently .lesson26 .library .Library ;
5
- import com .codedifferently .lesson26 .library .MediaItem ;
6
- import com .codedifferently .lesson26 .library .search .SearchCriteria ;
7
- import jakarta .validation .Valid ;
8
3
import java .io .IOException ;
9
4
import java .util .List ;
10
5
import java .util .Set ;
6
+
7
+ import org .hibernate .validator .constraints .UUID ;
11
8
import org .springframework .http .ResponseEntity ;
12
9
import org .springframework .web .bind .annotation .CrossOrigin ;
13
10
import org .springframework .web .bind .annotation .DeleteMapping ;
17
14
import org .springframework .web .bind .annotation .RequestBody ;
18
15
import org .springframework .web .bind .annotation .RestController ;
19
16
17
+ import com .codedifferently .lesson26 .library .Librarian ;
18
+ import com .codedifferently .lesson26 .library .Library ;
19
+ import com .codedifferently .lesson26 .library .MediaItem ;
20
+ import com .codedifferently .lesson26 .library .search .SearchCriteria ;
21
+
22
+ import jakarta .validation .Valid ;
23
+
20
24
@ RestController
21
25
@ CrossOrigin
22
26
public class MediaItemsController {
@@ -37,7 +41,8 @@ public GetMediaItemsResponse getItems() {
37
41
}
38
42
39
43
@ PostMapping ("/items" )
40
- public ResponseEntity <?> postItems (@ Valid @ RequestBody CreateMediaItemRequest request ) {
44
+ public ResponseEntity <CreateMediaItemResponse > postItems (
45
+ @ Valid @ RequestBody CreateMediaItemRequest request ) {
41
46
MediaItemRequest itemRequest = request .getItem ();
42
47
MediaItem item = MediaItemRequest .asMediaItem (itemRequest );
43
48
library .addMediaItem (item , librarian );
@@ -56,11 +61,11 @@ public ResponseEntity<GetMediaItemsResponse> getItemsId(@PathVariable String id)
56
61
}
57
62
58
63
@ DeleteMapping ("/items/{id}" )
59
- public ResponseEntity <? > deletebById (@ PathVariable String id ) {
60
- Set <MediaItem > items = library .search (SearchCriteria .builder ().id (id ).build ());
64
+ public ResponseEntity <Void > deletebById (@ PathVariable UUID id ) {
65
+ Set <MediaItem > items = library .search (SearchCriteria .builder ().id (id . toString () ).build ());
61
66
MediaItem item = items .iterator ().next ();
62
- if (items .isEmpty () || item == null ) {
63
- ResponseEntity .notFound ().build ();
67
+ if (items .isEmpty ()) {
68
+ return ResponseEntity .notFound ().build ();
64
69
}
65
70
library .removeMediaItem (item , librarian );
66
71
return ResponseEntity .noContent ().build ();
0 commit comments