8강 SpringBoot REST API 조회, 입력
안녕하세요! 이번 영상은 스프링부트(SpringBoot)를 활용해 REST API를 만드는 방법 중 조회와 입력 기능을 구현하는 과정을 쉽게 설명해 드립니다. 이 영상에서는 컨트롤러부터 서비스, 레포지토리, DTO, 밸리데이션, 예외 처리, 그리고 테스트까지 단계별로 자세히 다루고 있어요.
## 목차
1. 🎬 시작 및 환경 준비
2. 🔍 조회 API 구현하기 (검색 포함)
3. 🛠 서비스와 레포지토리 작성하기
4. 📜 JPQL과 JPA 쿼리 메서드 비교
5. ✍ 입력(Create) API 구현하기
6. ✅ 밸리데이션(입력값 검증) 처리하기
7. 🚨 예외 처리 및 글로벌 핸들러 만들기
8. 🧪 유닛 테스트 작성 및 실행하기
9. 📝 마무리 및 다음 단계 안내
---
## 🎬 시작 및 환경 준비 [00:00:27]
- 이클립스 IDE와 API 테스트 도구인 포스트맨(Postman)을 준비합니다.
- 스프링부트 프로젝트에서 컨트롤러부터 작업을 시작합니다.
## 🔍 조회 API 구현하기 (검색 포함) [00:00:57]
- `@GetMapping` 어노테이션으로 조회 요청을 처리합니다.
- `@RequestParam`으로 검색어(query)를 받아 유효성 검사 후 처리합니다.
- 검색어가 없으면 전체 페이지 조회, 있으면 검색 결과만 반환합니다.
- 페이지 번호, 정렬 방식(내림차순 DSC), 페이지 크기 등을 설정해 페이징 처리합니다.
## 🛠 서비스와 레포지토리 작성하기 [00:02:34]
- 서비스 클래스에 `@Transactional(readOnly = true)`를 붙여 데이터 조회 시 트랜잭션 관리를 합니다.
- 레포지토리에서 JPQL 쿼리를 작성해 검색 기능을 구현합니다.
- JPQL은 SQL과 비슷하지만 객체 지향적으로 작성하는 쿼리입니다.
## 📜 JPQL과 JPA 쿼리 메서드 비교 [00:05:40]
- JPQL 쿼리를 직접 작성하는 방법과
- JPA가 제공하는 메서드 이름으로 쿼리를 자동 생성하는 방법(`findByTitleContainingIgnoreCase`)을 비교합니다.
- 후자는 코드가 간단하지만, 복잡한 쿼리는 JPQL이 더 유용합니다.
## ✍ 입력(Create) API 구현하기 [00:12:14]
- 입력용 DTO(CreateBookmarkRequest)를 만들어 입력값을 받습니다.
- `@NotEmpty` 같은 어노테이션으로 필수 입력값을 지정해 밸리데이션을 적용합니다.
- 컨트롤러에서 `@PostMapping`과 `@RequestBody`, `@Validated`를 사용해 JSON 형태로 입력을 받습니다.
- 서비스에서 DTO를 엔티티(Bookmark)로 변환 후 저장합니다.
## ✅ 밸리데이션(입력값 검증) 처리하기 [00:14:56]
- 입력값이 비어있거나 형식에 맞지 않으면 오류 메시지를 반환합니다.
- 기본적으로 스프링부트는 HTML 형식 오류를 반환하므로, JSON 형식으로 오류를 반환하도록 글로벌 예외 처리기를 만듭니다.
## 🚨 예외 처리 및 글로벌 핸들러 만들기 [00:23:01]
- `@ControllerAdvice`와 `@ExceptionHandler`를 활용해 컨트롤러에서 발생하는 예외를 한 곳에서 처리합니다.
- `MethodArgumentNotValidException`을 잡아 필드별 오류 메시지와 상태 코드(400 Bad Request)를 JSON으로 반환합니다.
- 이렇게 하면 프론트엔드에서 오류를 쉽게 파악하고 처리할 수 있습니다.
## 🧪 유닛 테스트 작성 및 실행하기 [00:32:00]
- JUnit을 사용해 컨트롤러의 입력 API를 테스트합니다.
- MockMvc를 활용해 POST 요청을 보내고, 응답 상태와 JSON 내용을 검증합니다.
- 테스트 컨테이너(Docker 기반 데이터베이스)를 사용해 실제 환경과 유사한 테스트를 진행합니다.
## 📝 마무리 및 다음 단계 안내 [00:39:57]
- 이번 영상에서는 조회와 입력, 밸리데이션, 예외 처리, 테스트까지 완성했습니다.
- 수정, 삭제 기능과 UI 연동은 추후 강의에서 다룰 예정입니다.
- 질문이나 도움이 필요하면 메일로 연락해 주세요!
---
# 마무리 요약
이번 영상은 스프링부트로 REST API를 만들 때 조회와 입력 기능을 어떻게 구현하는지 단계별로 알려줍니다. 특히, 검색 기능, 입력값 검증, 예외 처리, 그리고 안정적인 개발을 위한 유닛 테스트까지 꼼꼼하게 다루어 실무에 바로 적용할 수 있습니다. 어렵게 느껴질 수 있는 부분도 친절한 설명과 예시로 쉽게 이해할 수 있으니 꼭 따라 해 보세요!
#SpringBoot #RESTAPI #JavaSpring #SpringBootTutorial #API개발 #스프링부트 #웹개발 #백엔드개발 #JavaProgramming #SpringDataJPA #Validation #ExceptionHandling #JUnitTest #Postman #JPQL
Видео 8강 SpringBoot REST API 조회, 입력 канала 전민균의 FullStack Camp
## 목차
1. 🎬 시작 및 환경 준비
2. 🔍 조회 API 구현하기 (검색 포함)
3. 🛠 서비스와 레포지토리 작성하기
4. 📜 JPQL과 JPA 쿼리 메서드 비교
5. ✍ 입력(Create) API 구현하기
6. ✅ 밸리데이션(입력값 검증) 처리하기
7. 🚨 예외 처리 및 글로벌 핸들러 만들기
8. 🧪 유닛 테스트 작성 및 실행하기
9. 📝 마무리 및 다음 단계 안내
---
## 🎬 시작 및 환경 준비 [00:00:27]
- 이클립스 IDE와 API 테스트 도구인 포스트맨(Postman)을 준비합니다.
- 스프링부트 프로젝트에서 컨트롤러부터 작업을 시작합니다.
## 🔍 조회 API 구현하기 (검색 포함) [00:00:57]
- `@GetMapping` 어노테이션으로 조회 요청을 처리합니다.
- `@RequestParam`으로 검색어(query)를 받아 유효성 검사 후 처리합니다.
- 검색어가 없으면 전체 페이지 조회, 있으면 검색 결과만 반환합니다.
- 페이지 번호, 정렬 방식(내림차순 DSC), 페이지 크기 등을 설정해 페이징 처리합니다.
## 🛠 서비스와 레포지토리 작성하기 [00:02:34]
- 서비스 클래스에 `@Transactional(readOnly = true)`를 붙여 데이터 조회 시 트랜잭션 관리를 합니다.
- 레포지토리에서 JPQL 쿼리를 작성해 검색 기능을 구현합니다.
- JPQL은 SQL과 비슷하지만 객체 지향적으로 작성하는 쿼리입니다.
## 📜 JPQL과 JPA 쿼리 메서드 비교 [00:05:40]
- JPQL 쿼리를 직접 작성하는 방법과
- JPA가 제공하는 메서드 이름으로 쿼리를 자동 생성하는 방법(`findByTitleContainingIgnoreCase`)을 비교합니다.
- 후자는 코드가 간단하지만, 복잡한 쿼리는 JPQL이 더 유용합니다.
## ✍ 입력(Create) API 구현하기 [00:12:14]
- 입력용 DTO(CreateBookmarkRequest)를 만들어 입력값을 받습니다.
- `@NotEmpty` 같은 어노테이션으로 필수 입력값을 지정해 밸리데이션을 적용합니다.
- 컨트롤러에서 `@PostMapping`과 `@RequestBody`, `@Validated`를 사용해 JSON 형태로 입력을 받습니다.
- 서비스에서 DTO를 엔티티(Bookmark)로 변환 후 저장합니다.
## ✅ 밸리데이션(입력값 검증) 처리하기 [00:14:56]
- 입력값이 비어있거나 형식에 맞지 않으면 오류 메시지를 반환합니다.
- 기본적으로 스프링부트는 HTML 형식 오류를 반환하므로, JSON 형식으로 오류를 반환하도록 글로벌 예외 처리기를 만듭니다.
## 🚨 예외 처리 및 글로벌 핸들러 만들기 [00:23:01]
- `@ControllerAdvice`와 `@ExceptionHandler`를 활용해 컨트롤러에서 발생하는 예외를 한 곳에서 처리합니다.
- `MethodArgumentNotValidException`을 잡아 필드별 오류 메시지와 상태 코드(400 Bad Request)를 JSON으로 반환합니다.
- 이렇게 하면 프론트엔드에서 오류를 쉽게 파악하고 처리할 수 있습니다.
## 🧪 유닛 테스트 작성 및 실행하기 [00:32:00]
- JUnit을 사용해 컨트롤러의 입력 API를 테스트합니다.
- MockMvc를 활용해 POST 요청을 보내고, 응답 상태와 JSON 내용을 검증합니다.
- 테스트 컨테이너(Docker 기반 데이터베이스)를 사용해 실제 환경과 유사한 테스트를 진행합니다.
## 📝 마무리 및 다음 단계 안내 [00:39:57]
- 이번 영상에서는 조회와 입력, 밸리데이션, 예외 처리, 테스트까지 완성했습니다.
- 수정, 삭제 기능과 UI 연동은 추후 강의에서 다룰 예정입니다.
- 질문이나 도움이 필요하면 메일로 연락해 주세요!
---
# 마무리 요약
이번 영상은 스프링부트로 REST API를 만들 때 조회와 입력 기능을 어떻게 구현하는지 단계별로 알려줍니다. 특히, 검색 기능, 입력값 검증, 예외 처리, 그리고 안정적인 개발을 위한 유닛 테스트까지 꼼꼼하게 다루어 실무에 바로 적용할 수 있습니다. 어렵게 느껴질 수 있는 부분도 친절한 설명과 예시로 쉽게 이해할 수 있으니 꼭 따라 해 보세요!
#SpringBoot #RESTAPI #JavaSpring #SpringBootTutorial #API개발 #스프링부트 #웹개발 #백엔드개발 #JavaProgramming #SpringDataJPA #Validation #ExceptionHandling #JUnitTest #Postman #JPQL
Видео 8강 SpringBoot REST API 조회, 입력 канала 전민균의 FullStack Camp
Комментарии отсутствуют
Информация о видео
2 июля 2025 г. 15:00:04
00:40:14
Другие видео канала