Skip to content

Commit 05d0470

Browse files
committed
Feat modfies mediaItems
1 parent 9de33c4 commit 05d0470

File tree

1 file changed

+28
-5
lines changed

1 file changed

+28
-5
lines changed

lesson_26/api/java/api_app/src/main/java/com/codedifferently/lesson26/web/MediaItemsController.java

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@
77
import java.io.IOException;
88
import java.util.List;
99
import java.util.Set;
10+
import java.util.Optional;
1011
import org.springframework.http.ResponseEntity;
1112
import org.springframework.web.bind.annotation.CrossOrigin;
1213
import org.springframework.web.bind.annotation.GetMapping;
1314
import org.springframework.web.bind.annotation.RestController;
1415

1516
@RestController
17+
@RequestMapping("/items")
1618
@CrossOrigin
1719
public class MediaItemsController {
1820

@@ -24,11 +26,32 @@ public MediaItemsController(Library library) throws IOException {
2426
this.librarian = library.getLibrarians().stream().findFirst().orElseThrow();
2527
}
2628

27-
@GetMapping("/items")
28-
public ResponseEntity<GetMediaItemsResponse> getItems() {
29+
@GetMapping()
30+
public ResponseEntity<GetMediaItemsResponse> getItemById() {
2931
Set<MediaItem> items = library.search(SearchCriteria.builder().build());
30-
List<MediaItemResponse> responseItems = items.stream().map(MediaItemResponse::from).toList();
31-
var response = GetMediaItemsResponse.builder().items(responseItems).build();
32+
if (items.isEmpty()) {
33+
ResponseEntity.noContent();
34+
}
35+
}
3236
return ResponseEntity.ok(response);
3337
}
34-
}
38+
@GetMapping(value = "/{id}")
39+
public ResponseEntity<MediaItemResponse> getItemById(@PathVariable("id") UUID id) {
40+
41+
System.out.println(id.toString());
42+
43+
Set<MediaItem> items = library.search(SearchCriteria.builder().id(id.toString()).build());
44+
Optional<MediaItem> matchedItem =
45+
items.stream().filter(item -> item.getId().equals(id)).findFirst();
46+
System.out.println("items");
47+
System.out.println(items);
48+
System.out.println(matchedItem);
49+
System.out.println("mathcedItems");
50+
return matchedItem
51+
.map(
52+
item -> {
53+
MediaItemResponse responseItem = MediaItemResponse.from(item);
54+
return ResponseEntity.ok(responseItem);
55+
})
56+
.orElse(ResponseEntity.notFound().build());
57+
}

0 commit comments

Comments
 (0)