티스토리 뷰

배움/JAVA

Spring Boot REST API 샘플

spaces25 2026. 6. 24. 15:26
반응형

📌 Spring Boot REST API 샘플 정리

1. 프로젝트 개요

  • 목적: 사용자(User) 정보를 관리하는 간단한 REST API
  • 주요 기능: 사용자 조회, 생성, 삭제
  • 기술 스택: Spring Boot, Spring Data JPA, H2 Database

2. 프로젝트 구조

 
src/main/java/com/example/demo
 ├─ DemoApplication.java
 ├─ model/User.java
 ├─ repository/UserRepository.java
 └─ controller/UserController.java

3. 코드 샘플

메인 클래스

 
@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

엔티티 클래스

 
@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;
    private String email;

    // getters, setters
}

JPA Repository

 
public interface UserRepository extends JpaRepository<User, Long> {
}

REST Controller

 
@RestController
@RequestMapping("/api/users")
public class UserController {

    private final UserRepository userRepository;

    public UserController(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    @GetMapping
    public List<User> getAllUsers() {
        return userRepository.findAll();
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userRepository.save(user);
    }

    @GetMapping("/{id}")
    public ResponseEntity<User> getUserById(@PathVariable Long id) {
        return userRepository.findById(id)
                .map(ResponseEntity::ok)
                .orElse(ResponseEntity.notFound().build());
    }

    @DeleteMapping("/{id}")
    public ResponseEntity<Void> deleteUser(@PathVariable Long id) {
        if (userRepository.existsById(id)) {
            userRepository.deleteById(id);
            return ResponseEntity.noContent().build();
        }
        return ResponseEntity.notFound().build();
    }
}

4. 실행 방법

  1. application.properties에 H2 DB 설정 추가:
  2. properties
    spring.datasource.url=jdbc:h2:mem:testdb
    spring.jpa.hibernate.ddl-auto=update
    spring.h2.console.enabled=true
    
  3. 애플리케이션 실행 후 http://localhost:8080/api/users 엔드포인트 확인
  4. 예시 요청:
    • GET /api/users → 사용자 목록 조회
    • POST /api/users → 사용자 생성 (JSON body 필요)
    • GET /api/users/{id} → 특정 사용자 조회
    • DELETE /api/users/{id} → 사용자 삭제
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/09   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함