11package com .codedifferently .lesson26 .web ;
22
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 ;
83import java .io .IOException ;
94import java .util .List ;
105import java .util .Set ;
6+
7+ import org .hibernate .validator .constraints .UUID ;
118import org .springframework .http .ResponseEntity ;
129import org .springframework .web .bind .annotation .CrossOrigin ;
1310import org .springframework .web .bind .annotation .DeleteMapping ;
1714import org .springframework .web .bind .annotation .RequestBody ;
1815import org .springframework .web .bind .annotation .RestController ;
1916
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+
2024@ RestController
2125@ CrossOrigin
2226public class MediaItemsController {
@@ -37,7 +41,8 @@ public GetMediaItemsResponse getItems() {
3741 }
3842
3943 @ PostMapping ("/items" )
40- public ResponseEntity <?> postItems (@ Valid @ RequestBody CreateMediaItemRequest request ) {
44+ public ResponseEntity <CreateMediaItemResponse > postItems (
45+ @ Valid @ RequestBody CreateMediaItemRequest request ) {
4146 MediaItemRequest itemRequest = request .getItem ();
4247 MediaItem item = MediaItemRequest .asMediaItem (itemRequest );
4348 library .addMediaItem (item , librarian );
@@ -56,11 +61,11 @@ public ResponseEntity<GetMediaItemsResponse> getItemsId(@PathVariable String id)
5661 }
5762
5863 @ 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 ());
6166 MediaItem item = items .iterator ().next ();
62- if (items .isEmpty () || item == null ) {
63- ResponseEntity .notFound ().build ();
67+ if (items .isEmpty ()) {
68+ return ResponseEntity .notFound ().build ();
6469 }
6570 library .removeMediaItem (item , librarian );
6671 return ResponseEntity .noContent ().build ();
0 commit comments