Skip to content

Commit

Permalink
Feat: 특정 상품 주문하기의 RequestBody 검증 구현
Browse files Browse the repository at this point in the history
- 만약 count가 음수라면 400(Bad Request) 상태코드를 반환한다.
  • Loading branch information
Louie-03 committed Apr 26, 2022
1 parent b7fcfef commit d5c67f6
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
8 changes: 4 additions & 4 deletions BE/src/main/java/sidedish/com/controller/OrderController.java
@@ -1,13 +1,14 @@
package sidedish.com.controller;

import java.util.Map;
import javax.validation.Valid;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestController;
import sidedish.com.controller.model.OrderSaveRequest;
import sidedish.com.controller.model.OrderSaveResponse;
import sidedish.com.service.OrderService;

Expand All @@ -19,8 +20,7 @@ public class OrderController {

@PostMapping("/api/products/{id}/order")
@ResponseStatus(HttpStatus.CREATED)
public OrderSaveResponse order(@PathVariable Long id, @RequestBody Map<String, Long> orderRequest) {
long count = orderRequest.get("count");
return orderService.save(id, count);
public OrderSaveResponse order(@PathVariable Long id, @RequestBody @Valid OrderSaveRequest orderSaveRequest) {
return orderService.save(id, orderSaveRequest.getCount());
}
}
@@ -0,0 +1,11 @@
package sidedish.com.controller.model;

import javax.validation.constraints.Positive;
import lombok.Getter;

@Getter
public class OrderSaveRequest {

@Positive
private Long count;
}

0 comments on commit d5c67f6

Please sign in to comment.