File tree Expand file tree Collapse file tree 3 files changed +32
-4
lines changed
src/main/java/guru/springframework/spring6restmvc Expand file tree Collapse file tree 3 files changed +32
-4
lines changed Original file line number Diff line number Diff line change 44import guru .springframework .spring6restmvc .service .BeerService ;
55import lombok .AllArgsConstructor ;
66import lombok .extern .slf4j .Slf4j ;
7- import org .springframework .web .bind .annotation .PathVariable ;
8- import org .springframework .web .bind .annotation .RequestMapping ;
9- import org .springframework .web .bind .annotation .RequestMethod ;
10- import org .springframework .web .bind .annotation .RestController ;
7+ import org .springframework .http .HttpStatus ;
8+ import org .springframework .http .ResponseEntity ;
9+ import org .springframework .web .bind .annotation .*;
1110
1211import java .util .List ;
1312import java .util .UUID ;
@@ -20,6 +19,14 @@ public class BeerController {
2019
2120 private final BeerService beerService ;
2221
22+ // @RequestMapping(method = RequestMethod.POST)
23+ @ PostMapping
24+ public ResponseEntity handlePost (@ RequestBody Beer beer ) {
25+ Beer savedBeer = beerService .saveNewBeer (beer );
26+
27+ return new ResponseEntity (HttpStatus .CREATED );
28+ }
29+
2330 @ RequestMapping (method = RequestMethod .GET )
2431 public List <Beer > listBeers () {
2532 return beerService .listBeers ();
Original file line number Diff line number Diff line change @@ -9,4 +9,6 @@ public interface BeerService {
99 List <Beer > listBeers ();
1010
1111 Beer getBeerById (UUID id );
12+
13+ Beer saveNewBeer (Beer beer );
1214}
Original file line number Diff line number Diff line change @@ -71,4 +71,23 @@ public Beer getBeerById(UUID id) {
7171
7272 return beerMap .get (id );
7373 }
74+
75+ @ Override
76+ public Beer saveNewBeer (Beer beer ) {
77+ Beer savedBeer = Beer .builder ()
78+ .id (UUID .randomUUID ())
79+ .version (1 )
80+ .createdDate (LocalDateTime .now ())
81+ .updateDate (LocalDateTime .now ())
82+ .beerName (beer .getBeerName ())
83+ .beerStyle (beer .getBeerStyle ())
84+ .upc (beer .getUpc ())
85+ .price (beer .getPrice ())
86+ .quantityOnHand (beer .getQuantityOnHand ())
87+ .build ();
88+
89+ beerMap .put (beer .getId (), savedBeer );
90+
91+ return savedBeer ;
92+ }
7493}
You can’t perform that action at this time.
0 commit comments