Controller란?
“클라이언트의 HTTP 요청을 받아 처리하는 계층”
Controller의 역할
- 요청 검증
- 인증
- 예외 처리
- 요청 유효성 검사
- 응답
프로젝트 구현
@RestController
@RequiredArgsConstructor
@RequestMapping("/products")
public class ProductController {
private final ProductService productService;
@PostMapping
public ProductResponse create(@RequestBody ProductRequest request) {
return productService.create(request);
}
@GetMapping("/{id}")
public ProductResponse findById(@PathVariable Long id) {
return productService.findById(id);
}
@GetMapping
public List<ProductResponse> findAll() {
return productService.findAll();
}
@PutMapping("/{id}")
public ProductResponse update(
@PathVariable Long id,
@RequestBody ProductRequest request
) {
return productService.update(id, request);
}
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
productService.delete(id);
}
}
@RestController
@RequiredArgsConstructor
@RequestMapping("/orders")
public class OrderController {
private final OrderService orderService;
@PostMapping
public OrderResponse createOrder(
@RequestBody OrderRequest request
) {
return orderService.create(request);
}
@GetMapping("/{id}")
public OrderResponse getOrder(
@PathVariable Long id
) {
return orderService.findById(id);
}
@GetMapping
public List<OrderResponse> getOrders() {
return orderService.findAll();
}
}
코드 설명
@RestController
REST API Controller 선언
@RequestMapping("/orders")
공통 URL 지정
@RequestBody
JSON 요청 데이터를 객체로 변환
@ResponseBody
리턴 값을 JSON 형태로 변환
@PathVariable
URL 값 추출
@PostMapping
데이터 생성 요청 처리
@GetMapping
데이터 조회 요청 처리
@DeleteMapping("/{id}")
데이터 삭제 요청 처리
@PutMapping("/{id}")
데이터 수정 요청 처리
'Spring > - [시리즈] 간단한 CRUD 구현하기' 카테고리의 다른 글
| CRUD 구현 9 - 간단한 페이지네이션(Pagination) 구현 (0) | 2026.05.18 |
|---|---|
| CRUD 구현 8 - Postman을 이용한 테스트 (0) | 2026.05.15 |
| CRUD 구현 6 - Service 구현 (0) | 2026.05.15 |
| CRUD 구현 5 - DTO (Data Transfer Object) 구현 (0) | 2026.05.15 |
| CRUD 구현 4 - Repository 구현 (0) | 2026.05.14 |