Skip to content

Commit e300965

Browse files
committed
fix(lesson-23): provide Librarian bean via @configuration; ensure controller accepts Librarian
1 parent 52ff2d5 commit e300965

File tree

3 files changed

+30
-12
lines changed

3 files changed

+30
-12
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package com.codedifferently.lesson23.config;
2+
3+
import com.codedifferently.lesson23.library.Librarian;
4+
import org.springframework.context.annotation.Bean;
5+
import org.springframework.context.annotation.Configuration;
6+
7+
@Configuration
8+
public class AppConfig {
9+
10+
@Bean
11+
public Librarian librarian() {
12+
return new Librarian("System", "[email protected]");
13+
}
14+
}

lesson_23/api/java/api_app/src/main/java/com/codedifferently/lesson23/web/AddMediaItemRequest.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
package com.codedifferently.lesson23.web;
2-
import java.util.UUID;
32

4-
import com.codedifferently.lesson23.library.MediaItem;
53
import com.codedifferently.lesson23.library.Book;
4+
import com.codedifferently.lesson23.library.MediaItem;
5+
import jakarta.validation.constraints.NotNull;
66
import java.util.List;
7+
import java.util.UUID;
78
import lombok.Builder;
89
import lombok.Value;
9-
import jakarta.validation.constraints.NotNull;
1010

1111
@Value
1212
@Builder
1313
public class AddMediaItemRequest {
14-
@NotNull
15-
Item item;
14+
@NotNull Item item;
1615

1716
@Value
1817
@Builder
@@ -30,5 +29,7 @@ public MediaItem toDomain() {
3029
}
3130
}
3231

33-
public Item getItem() { return item; }
32+
public Item getItem() {
33+
return item;
34+
}
3435
}

lesson_23/api/java/api_app/src/main/java/com/codedifferently/lesson23/web/MediaItemsController.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package com.codedifferently.lesson23.web;
2-
import java.util.Collections;
3-
import java.util.Map;
4-
import com.codedifferently.lesson23.library.Librarian;
5-
import java.util.UUID;
62

3+
import com.codedifferently.lesson23.library.Librarian;
74
import com.codedifferently.lesson23.library.Library;
85
import com.codedifferently.lesson23.library.MediaItem;
96
import com.codedifferently.lesson23.library.search.SearchCriteria;
107
import jakarta.validation.Valid;
118
import java.io.IOException;
9+
import java.util.Collections;
1210
import java.util.List;
11+
import java.util.Map;
1312
import java.util.Set;
13+
import java.util.UUID;
1414
import org.springframework.http.ResponseEntity;
1515
import org.springframework.web.bind.annotation.CrossOrigin;
1616
import org.springframework.web.bind.annotation.DeleteMapping;
@@ -23,10 +23,12 @@
2323
@RestController
2424
@CrossOrigin
2525
public class MediaItemsController {
26+
private final Librarian librarian;
2627

2728
private final Library library;
2829

29-
public MediaItemsController(Library library) throws IOException {
30+
public MediaItemsController(Library library, Librarian librarian) throws IOException {
31+
this.librarian = librarian;
3032
this.library = library;
3133
}
3234

@@ -50,7 +52,8 @@ public ResponseEntity<Map<String, MediaItemResponse>> getItem(@PathVariable Stri
5052
}
5153

5254
@PostMapping("/items")
53-
public ResponseEntity<Map<String, MediaItemResponse>> addItem(@Valid @RequestBody AddMediaItemRequest request) {
55+
public ResponseEntity<Map<String, MediaItemResponse>> addItem(
56+
@Valid @RequestBody AddMediaItemRequest request) {
5457
MediaItem item = request.getItem().toDomain();
5558
library.addMediaItem(item, librarian);
5659
var body = Collections.singletonMap("item", MediaItemResponse.from(item));

0 commit comments

Comments
 (0)