Spring Boot를 이용한 RESTful Web Services 개발

Spring Boot를 이용한 RESTful Web Services 개발

(18개의 수강평)

222명의 수강생
Spring BootSpring CloudSpring
29,700원
지식공유자 · Dowon Lee
48회 수업· 총 6시간 43분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 초급
지식공유자의 다른 강의
연관 로드맵
연관 로드맵이 없어요.

이 강의는

이 강의는 Spring Boot를 이용해서 RESTful Web Services 애플리케이션을 개발하는 과정에 대해 학습하는 강의으로써, REST API 설계에 필요한 기본 지식에 대해 학습할 수 있습니다.

이런 걸 배울 수 있어요

  • Spring Boot
  • REST API
  • RESTful services
  • JPA

본 강의는 Spring Boot와 Spring Cloud를 이용한 Microservice를 개발하는 과정에 있어서 
RESTful 서비스를 설계하고, Spring Cloud API를 이용한 구현 및 운영에 관해 학습할 수 있도록 구성한 강의입니다.

📝 강의 소개

# 마이크로서비스(Microservices)란 무엇인가요?

"Microservices are a software development technique —a variant of the service-oriented architecture (SOA) structural style— that arranges an application as a collection of loosely coupled services. In a microservices architecture, services are fine-grained and the protocols are lightweight." 

- wikipedia

2011년 베니스에서 소프트웨어 아키텍처 워크숍이 개최된 이후 마이크로서비스라는 용어를 사용하기 시작했습니다. 애플리케이션 구축에 전통적인 모놀리스 개발 방식 대신 마이크로서비스 개발 방식을 도입함으로써, 개발뿐만 아니라 유지/보수에 있어서도 비용 절감 및 효율성 증가가 이루어졌으며 고객의 요구사항 또한 빠르게 처리할 수 있게 되었습니다. 이러한 마이크로 서비스의 인기와 더불어서 RESTful이라는 개발 방식도 많이 사용되고 있습니다. 

Microservice Architecture란 기존 하나의 큰 단위로 개발/운영되던 애플리케이션을 수십, 수백, 많게는 수천게의 작은 서비스 단위로 쪼개서 애플리케이션을 개발/운영하는 방식을 말합니다. 이러한 Microservice를 개발하기 위해서는 각 서비스끼리 독립적으로 개발될 수 있어야 하며, 각 서비스에 최적화된 개발 언어와 데이터베이스를 선택할 수도 있는 Polyglot Programming(폴리글랏 프로그래밍)의 요건을 갖추어야 합니다. 

이렇게 이기종(異機種)으로 개발된 애플리케이션 간에 데이터 통신을 위해서 표준화된 HTTP 프로토콜을 사용하는 RESTful 서비스를 널리 사용하고 있습니다.

Spring Boot는 독립 운영 가능한 Spring 기반 애플리케이션을 쉽게 개발할 수 있도록 지원해주는 개발 도구이자 Spring Project입니다. Spring Boot를 사용하면 바로 실행 가능한 독립형 Spring 애플리케이션을 쉽게 작성할 수 있으며, Spring framework와 기타 Third-party 라이브러리에 대한 설정 작업을 최소화 할 수 있으며, 비즈니스 로직에 더 많은 시간을 투자할 수 있습니다. 또한 Spring Boot의 Starter 컴포넌트들을 이용하면, 상용화에 필요한 통계, 상태 체크, 외부 설정 등에 관한 작업도 쉽게 구성할 수 있습니다. 

우리의 최종 목표는 Spring BootSpring Cloud를 이용해서
마이크로서비스 아키텍처로 설계된 애플리케이션을
설계하고, 개발하는 것입니다.

✏️ 수업의 과정

첫번째 과정
Spring Boot를 이용한 RESTFul Web Service 개발 (현재 강의)
REST API를 개발하기 위해 Spring Boot로 프로젝트를 생성하는 단계부터,
REST API를 설계하고 애플리케이션을 구현하는 과정에 대해 학습합니다.
두번째 과정
Spring Cloud로 개발하는 마이크로서비스 (예정)
Spring Boot와 Spring Cloud를 이용하여
Microservice Architecture를 설계, 구축하는 방법에 대해 학습합니다.

본 강의를 통해, Spring Boot와 Spring Cloud를 이용하여 Microservice Architecure로 웹 서비스를 설계하고, 구현, 운영 관한 전반적인 과정을 학습하실 수 있습니다. 

기타 참고 사항 ✔️

도움 되는 분들

  • Spring Boot를 이용해서 웹 애플리케이션을 개발하려하는 분들
  • REST API 애플리케이션을 개발하려는 분들
  • 마이크로서비스를 개발하려는 분들

선수 지식

  • Java
  • Web Application
  • Spring framework에 기본 지식

교육과정

모두 펼치기 48 강의 6시간 43분
섹션 2. User Service API 구현
7 강의 73 : 42
User 도메인 클래스 생성
12 : 14
사용자 목록 조회를 위한 API 구현 - GET HTTP Method
11 : 21
사용자 등록을 위한 API 구현 - POST HTTP Method
11 : 42
HTTP Status Code 제어
07 : 11
HTTP Status Code 제어를 위한 Exception Handling
10 : 45
Spring의 AOP를 이용한 Exception Handling
11 : 31
사용자 삭제를 위한 API 구현 - DELETE HTTP Method
08 : 58
섹션 3. RESTful Service 기능 확장
9 강의 78 : 09
Section 3 수업 소개
02 : 04
유효성 체크를 위한 Validation API 사용
12 : 26
다국어 처리를 위한 Internationalization 구현 방법
10 : 24
Response 데이터 형식 변환 - XML format
04 : 57
Response 데이터 제어를 위한 Filtering
09 : 02
프로그래밍으로 제어하는 Filtering 방법 - 개별 사용자 조회
11 : 17
프로그래밍으로 제어하는 Filtering 방법 - 전체 사용자 조회
03 : 30
URI를 이용한 REST API Version 관리
11 : 56
Request Parameter와 Header를 이용한 API Version 관리
12 : 33
섹션 4. Spring Boot API 사용
8 강의 60 : 37
Section 4 수업 소개
01 : 20
Level3 단계의 REST API 구현을 위한 HATEOAS 적용
13 : 15
REST API Documentation을 위한 Swagger 사용
10 : 50
Swagger Documentation 구현 방법
11 : 32
REST API Monitoring을 위한 Actuator 설정
04 : 21
HAL Browser를 이용한 HATEOAS 기능 구현
05 : 22
Spring Security를 이용한 인증 처리
05 : 45
Configuration 클래스를 이용한 사용자 인증 처리
08 : 12
섹션 5. Java Persistence API 사용
10 강의 79 : 09
Section 5 수업 소개
01 : 41
Java Persistence API의 개요
04 : 37
JPA를 사용을 위한 Dependency 추가와 설정
09 : 44
Spring Data JPA를 이용한 Entity 설정과 초기 데이터 생성
09 : 22
JPA Service 구현을 위한 Controller, Repository 생성
08 : 38
JPA를 이용한 사용자 목록 조회 - GET HTTP Method
08 : 26
JPA를 이용한 사용자 추가와 삭제 - POST/DELETE HTTP Method
12 : 09
게시물 관리를 위한 Post Entity 추가와 초기 데이터 생성
12 : 08
게시물 조회를 위한 Post Entity와 User Entity와의 관계 설정
04 : 15
JPA를 이용한 새 게시물 추가 - POST HTTP Method
08 : 09
섹션 6. RESTful API 설계 가이드
4 강의 11 : 20

공개 일자

2020년 4월 1일 (마지막 업데이트 일자 : 2020년 4월 1일)

수강 후기

4.8
18개의 수강평
default_profile.png
Olive 2달 전
완강했습니다. 스프링 기초적인 지식만 있다면 부트 REST API 입문 강의로 너무 좋은 것 같습니다!! 후속 강좌 나오면 꼭 보러 오겠습니다
default_profile.png
anjwoc 2달 전
설명이 군더더기가 없어요 정말 깔끔하고 말을 잘하십니다! Javascript계열의 프레임워크만 쓰다가 급하게 면접이 잡혀서 스프링을 빠르게 보는데 도움이 됐습니다 ㅎㅎ 추가로 강좌를 내시면 또 보러 오겠습니다. 설명을 너무 잘하셔서 돈이 아깝지 않을거같네요
Dowon Lee

Dowon Lee 2달 전
안녕하세요, 이도원입니다. 다음 강의는 공지한데로 Spring Cloud에 대한 내용으로 연결될 예정입니다. 빠른시일 내에 업데이트 하도록 하겠습니다. 감사합니다.

default_profile.png
OMG 2달 전
인강임에도 시간당 1만원이 넘어가는 인프런 내의 강의들이 수두룩하고 부담도 많이 되는 가격이 많은데 그러한 강의들에 비해 상당히 저렴한 가격에 퀄리티 또한 비싼 강의들과 비교하여도 부족함이 전혀 없는 강의라고 생각합니다. 다음 강의도 기대하겠습니다! 좋은 강의 감사해요 :)
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스