Skip to content

Commit e787b6b

Browse files
committed
feat:Adds checks for ithe wrong use of an API
1 parent 311ffcd commit e787b6b

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

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

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
package 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;
83
import java.io.IOException;
94
import java.util.List;
105
import java.util.Set;
6+
7+
import org.hibernate.validator.constraints.UUID;
118
import org.springframework.http.ResponseEntity;
129
import org.springframework.web.bind.annotation.CrossOrigin;
1310
import org.springframework.web.bind.annotation.DeleteMapping;
@@ -17,6 +14,13 @@
1714
import org.springframework.web.bind.annotation.RequestBody;
1815
import 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
2226
public 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

Comments
 (0)