스프링 기반 REST API 개발

스프링 기반 REST API 개발

(25개의 수강평)

729명의 수강생

88,000원

백기선
평생
활용
42개 수업, 총 8시간 0분
위시리스트 추가

스프링 기반 REST API 개발

이 강좌에서는 다양한 스프링 기술을 사용하여 Self-Descriptive Message와 HATEOAS(Hypermedia as the engine of application state)를 만족하는 REST API를 개발합니다.

2017년 네이버가 주관한 Deview라는 개발자 컨퍼런스에서 이응준님께서 그런 REST API로 괜찮은가라는 발표를 했습니다. 발표의 핵심은 이러합니다. 현재 REST API로 불리는 대부분의 API가 실제로는 로이 필딩이 정의한 REST를 따르고 있지 않으며, 그중에서도 특히 Self-Descriptive Message와 HATEOAS가 지켜지지 않음을 지적했고, 그에 대한 대안을 제시했습니다.

이번 강좌는 해당 발표에 영감을 받아 만들었으며, KSUG에서 동일한 이름으로 2018년 11월 세미나를 진행한 경험이 있습니다. 4시간이라는 짧지 않은 발표였지만, 준비한 내용에 비해 시간이 부족할 수 있었기 때문에 진행을 빨리하느라 충분히 설명하지 못하고 넘어갔던 부분이 있었습니다. 모자란 부분을 보충하고, 또 해결하려는 문제에 대한 여러 선택지를 제공하는 것이 좋을 것 같아 이 강좌를 만들었습니다. 그리고 코딩하는 중에 제가 주로 사용하는 인텔리J 단축키도 설명합니다.

이 강좌에서는 다음의 다양한 스프링 기술을 사용하여 REST API를 개발합니다.
* 스프링 프레임워크
* 스프링 부트
* 스프링 데이터 JPA
* 스프링 HATEOAS
* 스프링 REST Docs
* 스프링 시큐리티 OAuth2
또한 개발은 테스트 주도 개발(TDD)로 진행하기 때문에 평소 테스트 또는 TDD에 관심 있는 개발자에게도 도움이 될 것으로 기대합니다.

 학습 목표

  • Self-Describtive Message와 HATEOAS를 만족하는 REST API를 이해합니다.
  • 다양한 스프링 기술을 활용하여 REST API를 개발할 수 있습니다.
  • 스프링 HATEOAS와 스프링 REST Docs 프로젝트를 활용할 수 있습니다.
  • 테스트 주도 개발(TDD)에 익숙해집니다.

 도움이 되는 분들

  • 다양한 스프링 기술을 활용하는 방법을 학습하고 싶은 개발자 또는 학생
  • REST API를 개발하는 방법을 학습하고 싶은 개발자 또는 학생
  • TDD에 익숙해지고 싶은 개발자 또는 학생

지식공유자 소개

백기선
현재 마이크로소프트에서 개발자로 재직 중입니다. 이전에 아마존과 네이버에서 일했습니다. 스프링 프레임워크와 하이버네이트(JPA)를 사용해서 개발하는 것을 좋아합니다. 온라인에서 강좌를 만들거나 유튜브에 코딩 관련 동영상을 올리며 학습하고 또 공유하고 있습니다.

지식공유자 소개

백기선

교육과정

0. 소개
강좌 소개
05 : 00
강사 소개
01 : 00
강의자료
1. REST API 및 프로젝트 소개
REST API
20 : 00
Event REST API
06 : 00
Postman & Restlet
13 : 00
Project 만들기
11 : 00
이벤트 도메인 구현
14 : 00
이벤트 비즈니스 로직
05 : 00
2. 이벤트 생성 API 개발
이벤트 API 테스트 클래스 생성
09 : 00
201 응답 받기
12 : 00
이벤트 Repository
10 : 00
입력값 제한하기
17 : 00
입력값 이외에 에러 발생
07 : 00
Bad Request 처리
21 : 00
Bad Request 응답
15 : 00
비즈니스 로직 적용
10 : 00
매개변수를 이용한 테스트
10 : 00
3. HATEOAS와 Self-Describtive Message 적용
스프링 HATEOAS 소개
08 : 00
스프링 HATEOAS 적용
16 : 00
스프링 REST Docs 소개
11 : 00
스프링 REST Docs 적용
09 : 00
스프링 REST Docs 각종 문서 조각 생성하기
19 : 00
스프링 REST Docs 문서 빌드
15 : 00
테스트용 DB와 설정 분리하기
14 : 00
API 인덱스 만들기
12 : 00
4. 이벤트 조회 및 수정 REST API 개발
이벤트 목록 조회 API 구현
18 : 00
이벤트 조회 API 구현
10 : 00
이벤트 수정 API 구현
19 : 00
테스트 코드 리팩토링
04 : 00
5. REST API 보안 적용
Account 도메인 추가
06 : 00
스프링 시큐리티 적용
18 : 00
예외 테스트
06 : 00
스프링 시큐리티 기본 설정
14 : 00
스프링 시큐리티 폼 인증 설정
09 : 00
스프링 시큐리티 OAuth2 인증 서버 설정
18 : 00
리소스 서버 설정
19 : 00
문자열을 외부 설정으로 빼내기
14 : 00
이벤트 API 점검
06 : 00
현재 사용자 조회
22 : 00
출력값 제한하기
07 : 00
깨진 테스트 살펴보기

수강 후기

4.6
25개의 수강평
홍성길 3달 전
책보다 동강 15년차 개발자입니다. 이번에 API 서버를 스프링부트로 개발해야 할 일이 생겼어요. 평소 그랬던 것처럼 스프링부트와 스프링시큐리티, OAuth 쿡북을 잔뜩 사서 책상에 쌓아 놓고 공부를 했습니다. 실무에서는 어떻게 쓰고 있는지 모르니 이게 맞는건지 아닌건지 책 내용을 어떻게 응용해야 하는지 감을 못잡고 있었습니다. 그렇게 방황하다가 백기선님의 인프런 강좌를 구매했습니다. 평이 좋아 잠자기 전에 가볍게 들어 보려고 구매했죠. 어라? 어라????? 어라?????? 강좌를 들으니 그 동안 답답했던 속이 뻥 뚫리는 기분이었습니다. TDD, RESTful API, 스프링부트, 스프링시큐리티, OAuth 전부 싹 훑어주는데 모두 다 이번 프로젝트에 그대로 반영해도 좋을 정도였습니다. 앞으로는 예전처럼 새로운 공부를 할 때 책을 먼저 찾기 보다는 이런 주옥같은 동영상 강좌를 먼저 찾아 볼 것 같습니다. 주위 사람들한테 강추하고 다닙니다. 여유되시면, 요즘 현업에서 많이 사용하고 있지만 정보가 터무니 없이 부족한 "OAuth 소셜 로그인과 스프링시큐리티" 관련한 강좌도 어디에선가 추가가 되었으면 합니다. 이런 좋은 강좌를 만들어 주셔서 진심으로 감사드립니다. 전 이만 백선생님 강좌 투어하러 갑니다.
안근창 1달 전
드디어 마쳤네요 정말 많은 도움이 되었습니다 TDD가 전 너무 좋았습니다. 마지막에 깨진 테스트를 만들어주시는 부분 보강을 해주셨는데 저는 문제가 발생하였을때 나름 머리를 싸매고 해결하였습니다 마지막 보강과 제 해결법을 비교하면서 더 많은 공부가 되더군요 오히려 문제 트러블을 해결하면서도 실력이 더 느는 것 같습니다 백기선님 강좌를 이제 전부 다 들었네요 다음 강좌가 올때까지 한번 쭉 복습해봐야겠습니다 또 좋은 강좌 기다리겠습니다