완전한 REST API 서버 만들기
지금까지 배운 Controller, Service, Repository, DTO를 하나로 묶어 실제 현업에서 사용하는 형태의 완전한 CRUD (생성, 조회, 수정, 삭제) API를 완성해 봅니다.
| 기능 (CRUD) |
HTTP 메서드 |
URL 예시 |
| 생성 (Create) |
POST |
/api/members |
| 조회 (Read) |
GET |
/api/members/{id} |
| 수정 (Update) |
PUT / PATCH |
/api/members/{id} |
| 삭제 (Delete) |
DELETE |
/api/members/{id} |
실전 코딩: MemberController 완성하기
MemberController.java
package com.minstudio.demo.controller;
import org.springframework.web.bind.annotation.*;
import lombok.RequiredArgsConstructor;
@RestController
@RequestMapping("/api/members")
@RequiredArgsConstructor
public class MemberController {
private final MemberService memberService;
// Create
@PostMapping
public Long createMember(@RequestBody MemberCreateDto dto) {
return memberService.createMember(dto.getName());
}
// Read
@GetMapping("/{id}")
public MemberResponseDto getMember(@PathVariable("id") Long id) {
return memberService.findById(id); // Member 엔티티를 DTO로 변환하여 반환
}
// Update
@PutMapping("/{id}")
public void updateMember(@PathVariable("id") Long id, @RequestBody MemberUpdateDto dto) {
memberService.updateMember(id, dto.getName());
}
// Delete
@DeleteMapping("/{id}")
public void deleteMember(@PathVariable("id") Long id) {
memberService.deleteMember(id);
}
}
POST /api/members (Postman)
Response (200 OK): 1
수고하셨습니다! 이제 Spring Boot를 이용한 백엔드 서버 개발의 첫 단추를 성공적으로 끼우셨습니다. 🎉