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

2023. 9. 27. 00:24·2023-02 몰입형 SW 정규 교육/9월 프로젝트
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
저작자표시 비영리 변경금지

'2023-02 몰입형 SW 정규 교육 > 9월 프로젝트' 카테고리의 다른 글

[SpringBoot] Session 및 DB에 UUID 저장  (0) 2023.10.09
[Spring Boot] vs code build.gradle 플러그인 에러  (0) 2023.09.27
React 프로젝트에 MongoDB 연결하기  (0) 2023.09.19
[MongoDB] 커넥션 생성하기  (0) 2023.09.18
MongoDB 설치하기  (0) 2023.09.18
'2023-02 몰입형 SW 정규 교육/9월 프로젝트' 카테고리의 다른 글
  • [SpringBoot] Session 및 DB에 UUID 저장
  • [Spring Boot] vs code build.gradle 플러그인 에러
  • React 프로젝트에 MongoDB 연결하기
  • [MongoDB] 커넥션 생성하기
gxxg
gxxg
함께 일하고 싶은 개발자를 꿈꾸는 예비개발자의 공부 기록
  • gxxg
    공공
    gxxg
  • 전체
    오늘
    어제
    • 분류 전체보기 (138)
      • ☁️ 구름 x 카카오 Deep Dive 풀스택 (7)
        • html, css (1)
        • Java (3)
        • 스프링 MVC (0)
      • 💻 코딩테스트 (89)
        • 백준 (2)
        • programmers (87)
      • SQLD (1)
      • Language (3)
        • Java (2)
        • JavaScript (1)
      • Style Sheet (0)
        • CSS (0)
        • SCSS & SASS (0)
      • DBMS (2)
        • Oracle (2)
        • MySQL (0)
        • postgresql (0)
        • 데이터베이스 기초 이론 (0)
      • React (0)
      • SpringBoot (0)
      • JSP (2)
      • 알고리즘 (0)
      • 2023-02 몰입형 SW 정규 교육 (24)
        • 9월 프로젝트 (8)
      • 벽돌깨기 (4)
      • Etc (4)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    junit 테스트
    springboot
    java
    0단계
    CSS
    3단계
    HTML
    spring
    Lv2
    자바스크립트
    Lv0
    DFS
    코테
    javascript
    구현체
    2단계
    코딩테스트
    자바
    프로젝트 구조
    JSP
    회원 관리 시스템
    프로그래머스
    POST
    programmers
    오블완
    이클립스
    톰캣
    LV3
    eclipse
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gxxg
[Spring Boot] vs code에서 REST API 생성하기
상단으로

티스토리툴바