IT/JAVA
🚀 Spring Boot로 REST API 만들기 완전 정복
밥알이
2025. 6. 17. 22:55
🚀 Spring Boot로 REST API 만들기 완전 정복
Spring Boot는 빠르게 REST API를 구축할 수 있는 프레임워크로, 실무에서도 널리 사용되고 있습니다. 이 글에서는 실제 코드와 함께 REST API를 처음부터 끝까지 만드는 방법을 단계별로 안내합니다.
1️⃣ 프로젝트 세팅 (Spring Initializr)
- start.spring.io에서 Gradle 또는 Maven 프로젝트 생성
- 필수 선택 항목:
Spring Web
,Lombok
,Spring Boot DevTools
,Spring Data JPA
,H2 Database
// application.yml
spring:
datasource:
url: jdbc:h2:mem:testdb
driver-class-name: org.h2.Driver
username: sa
password:
jpa:
hibernate:
ddl-auto: update
show-sql: true
2️⃣ 간단한 도메인 클래스 생성 (User)
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
}
3️⃣ Repository 생성
public interface UserRepository extends JpaRepository<User, Long> {}
4️⃣ 서비스 클래스 작성
@Service
@RequiredArgsConstructor
public class UserService {
private final UserRepository userRepository;
public List<User> getAllUsers() {
return userRepository.findAll();
}
public User saveUser(User user) {
return userRepository.save(user);
}
public User getUserById(Long id) {
return userRepository.findById(id).orElseThrow(() -> new RuntimeException("User not found"));
}
public void deleteUser(Long id) {
userRepository.deleteById(id);
}
}
5️⃣ REST Controller 만들기
@RestController
@RequestMapping("/api/users")
@RequiredArgsConstructor
public class UserController {
private final UserService userService;
@GetMapping
public List<User> getUsers() {
return userService.getAllUsers();
}
@PostMapping
public User createUser(@RequestBody User user) {
return userService.saveUser(user);
}
@GetMapping("/{id}")
public User getUser(@PathVariable Long id) {
return userService.getUserById(id);
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable Long id) {
userService.deleteUser(id);
}
}
✅ API 테스트 예시 (Postman)
- GET
/api/users
→ 전체 사용자 조회 - POST
/api/users
→ 사용자 생성 (JSON Body 필요) - GET
/api/users/1
→ 특정 사용자 조회 - DELETE
/api/users/1
→ 사용자 삭제
{
"name": "홍길동",
"email": "hong@example.com"
}
💡 확장 Tip: Swagger 연동하기
API 문서 자동화를 위해 Swagger(OpenAPI)를 사용하는 것을 추천합니다.
<!-- build.gradle -->
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.1.0'
설치 후 http://localhost:8080/swagger-ui/index.html
에서 확인 가능
📌 마무리 정리
항목 | 내용 |
---|---|
기술 | Spring Boot, JPA, REST API |
테스트 도구 | Postman, Swagger |
추천 대상 | 초보 개발자, 실무 백엔드 개발자 |
🔚 마무리
이제 여러분도 Spring Boot로 REST API를 만들 수 있습니다! 실무에서는 인증(JWT), 예외 처리, 응답 포맷 통일 등 추가적으로 고려해야 할 사항들이 있지만, 이 글로 기초를 튼튼히 다지셨기를 바랍니다. 😊