Tiny Bunny
본문 바로가기

2023-02 몰입형 SW 정규 교육/9월 프로젝트

[Spring Boot] vs code에서 REST API 생성하기

728x90
도메인 클래스 생성

 

사용자 정보를 표현할 도메인 클래스 (User)를 생성합니다.

src/main/java/com/gmovie/gmovie/domain/User.java

package com.gmovie.gmovie.domain;

public class User {
    private Long id;
    private String name;
    private String email;

    // getters and setters...
}

 

 

 

레포지토리 인터페이스 생성

 

데이터베이스와의 상호작용을 위한 레포지토리 인터페이스를 생성합니다. Spring Data JPA가 제공하는 JpaRepository 인터페이스를 상속받으면 기본적인 CURD 연산 메서드가 자동으로 제공됩니다.

 

package com.gmovie.gmovie.repository;

import com.gmovie.gmovie.domain.User;
import org.springframework.data.jpa.repository.JpaRepository;

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

 

 

 

서비스 클래스 생성

 

비즈니스 로직을 처리하는 서비스 클래스를 생성합니다. 일반적으로 서비스 클래스에서는 레퍼지토리를 이용하여 데이터베이스와의 상호작용을 수행합니다.

 

package com.gmovie.gmovie.service;

import com.gmovie.gmovie.domain.User;
import com.gmovie.gmovie.repository.UserRepository;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class UserService {

    private final UserRepository userRepository;

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

    @Transactional
    public User saveUser(User user) {
        return userRepository.save(user);
    }

    // ...other methods as needed...
}

 

 

 

컨트롤러 클래스 생성

 

클라이언트 요청을 처리할 컨트롤러 클래스를 생성합니다. 컨트롤러에서는 HTTP 요청을 받아 적절한 서비스 메서드를 호출하고 응답을 반환합니다.

 

package com.gmovie.gmovie.controller;

import com.gmovie.gmovie.domain.User;
import com.gmovie.gmovie.service.UserService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

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

    private final UserService userService;

    public UserController(UserService userService) {
        this.userService = userService;
    }

    @PostMapping
    public ResponseEntity<User> createUser(@RequestBody User user) {
        return ResponseEntity.ok(userService.saveUser(user));
    }

    // ...other methods as needed...
}

 

이렇게 하면 간단한 사용자 관리 API가 생성된 겁니다. 이주 기본적인 부분이며 추후에 에러 처리, 입력 값 검증, 로깅 등의 추가적인 작업이 필요합니다.

 

저는 여기서 오라클 데이터베이스를 연동할 것이기 때문에...

application.properties 파일에 JDBC URL, 사용자 이름, 비밀번호 등을 설정하고 build.gradle 파일에서 의존성을 추가합니다.

 

 

 

728x90