Skip to content

Commit 33e7fc7

Browse files
committed
POST #63
1 parent b9564c0 commit 33e7fc7

File tree

3 files changed

+32
-4
lines changed

3 files changed

+32
-4
lines changed

src/main/java/guru/springframework/spring6restmvc/controller/BeerController.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44
import guru.springframework.spring6restmvc.service.BeerService;
55
import lombok.AllArgsConstructor;
66
import 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

1211
import java.util.List;
1312
import 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();

src/main/java/guru/springframework/spring6restmvc/service/BeerService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

src/main/java/guru/springframework/spring6restmvc/service/BeerServiceImpl.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)