관리 메뉴

나만의공간

🚀 Spring Boot로 REST API 만들기 완전 정복 본문

IT/JAVA

🚀 Spring Boot로 REST API 만들기 완전 정복

밥알이 2025. 6. 17. 22:55

🚀 Spring Boot로 REST API 만들기 완전 정복

Spring Boot는 빠르게 REST API를 구축할 수 있는 프레임워크로, 실무에서도 널리 사용되고 있습니다. 이 글에서는 실제 코드와 함께 REST API를 처음부터 끝까지 만드는 방법을 단계별로 안내합니다.


1️⃣ 프로젝트 세팅 (Spring Initializr)

  1. start.spring.io에서 Gradle 또는 Maven 프로젝트 생성
  2. 필수 선택 항목: 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), 예외 처리, 응답 포맷 통일 등 추가적으로 고려해야 할 사항들이 있지만, 이 글로 기초를 튼튼히 다지셨기를 바랍니다. 😊

Comments