로그인

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

오픈 기념 30% 할인 !  (2018.12.03~2019.01.02) 

스프링 기반 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)를 사용해서 개발하는 것을 좋아합니다. 온라인에서 강좌를 만들거나 유튜브에 코딩 관련 동영상을 올리며 학습하고 또 공유하고 있습니다.

강좌 평가

4.7

6 개의 수강평
  • 5 점5
  • 4 점0
  • 3 점1
  • 2 점0
  • 1 점0
  1. beom seok Kim의 프로필 사진

    실무뿐만 아니라 개인학습에도 정말 큰 도움이 강좌

    5

    이번에 스프링으로 REST API를 개발을 하게 되었는데 정말 큰 도움이 되었습니다. Self-Descriptive Message와 HATEOAS를 만족하는 REST API에 대한 개발, REST Docs, TDD 뿐만아니라 틈틈이 알려주시는 팁들은 정말 알토란 같습니다. 개인적으로 계속 강좌를 만들주기를 기대합니다. 특히, Security와 Webflux관련 강좌를 만들어 주시면 좋겠어요. 감사합니다!!^^

  2. java_oop의 프로필 사진

    TDD 방식으로 진행하는 것이 많은 도움이 됬습니다.

    5

    실제 테스트 코드 작성으로 Rest Document 까지 작성하는 방법들이 도움이 많이 됬습니다.

    딱 Rest API만 만드는 것이 아니라 전체 적으로 설명해주신 부분도 좋았습니다.

    다음 강의 Spring MVC 에서도 좋은 강의 부탁드립니다.

    또 Spring MVC 하실 때 Security에 대한 부분도 깊게 다뤄줬으면 합니다. 유독 국내에서는 Security에 대한 깊은 자료가 없는 부분이 있습니다.

  3. 오명운의 프로필 사진

    실무적으로 도움이 많이 되는 강좌입니다.

    5

    스프링 부트로 API 서버 개발 하는 일을 하고 있습니다.
    하면서도 맞게 하고 있는 건가 싶은 생각도 많이 들었는데,
    이 강좌를 보면서 여러 개선 사항도 찾을 수 있었고
    맞게 하고 있다는 확신도 가질 수 있었습니다.
    너무 늘어지지 않게 적당히 끊어가서 보기도 편했습니다.
    좋은 강좌인 것 같아 추천합니다.

  4. 우종선의 프로필 사진

    2018/12/8 일 기준으로 Oauth2 영상 나옵니다

    3

    .

    • 내일의균의 프로필 사진

      영상이 제대로 안나오는 건 인프런측 문제입니다.

      5

      영상이 제대로 안나오는 건 인프런 측 문제입니다.
      인프런 투자 받은돈으로 뭘하는건지 싸이트의 인터페이스나 UX가 너무 불편한데 나아질 기미가 안보이네요.
      백기선 선생님 강의는 너무 좋습니다.
      제가 다른 스프링 강의 많이 들어보고 오프라인으로 몇백만원하는 수업도 들어받지만 그런 강의들 보다도 헐씬 백기선 선생님 강의가 진짜 유익합니다. 영상이 안나오면 인프런측에 문의를 할 일이지 평점을 1점 주는건 초딩적 발상이네요.

    • 인프런의 프로필 사진

      영상 누락분 수정하도록 하겠습니다.

      5

      안녕하세요. 인프런 운영자 입니다.
      말씀하신 영상 누락분을 확인했습니다.
      내일의균 님의 말씀대로 저희 측의 잘못입니다.
      영상 업로드 과정에서 인코딩에 문제가 생겨서 재업로드 중 입니다.
      늦어도 오전중에 다시 확인해 보시면 학습가능하실거에요. 불편을 드려 죄송합니다.
      *12월 8일 현재 영상을 복구했습니다. 영상서버와 영상의 인코딩 방식이 맞지 않았는지, 잘 올라가고 재생되다가도 문제가 생기네요. 지금은 학습 가능하실테니 한번 더 확인해 주시면 감사하겠습니다.

      @내일의균
      안녕하세요. 인프런 대표 이형주 입니다.
      아픈 곳을 정확히 찔러주셨네요. 말씀하신대로 저희 서비스의 UX 나 속도가 아쉬운 부분이 많습니다.
      솔찍히 제가 보기에도 그렇네요..ㅠㅠ 불편을 느끼게 해드려 정말 죄송합니다.
      그동안 서비스의 전체적인 개선을 하려 했으나, 워낙 규모가 큰 일이라 어떻게 시작해야 할지 엄두가 잘 나지 않았었습니다. 다행히 몇달 전부터 리뉴얼 버전의 서비스를 열심히 개발중에 있습니다. 조금 기다려 주시면 훨씬더 빠르고 UX 적으로 개선된 인프런에서 편하게 학습하실 수 있으시도록 최선을 다해 빨리 ‘잘’ 만들겠습니다.
      좋은 말씀 감사합니다. 즐거운 하루 되세요!!

강좌 교육과정

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

실시간 인기 강좌

우리는 성장기회의 평등 을 추구합니다. 🌳

경제적, 시간적 제약없는 양질을 교육으로 누구나에게 성장 기회를 균등하게 주는것. 그것이 우리의 목표입니다.

지식공유참여 고객센터
top
(주)인프랩 | 대표자:이형주 | TEL:070-4178-0406 | E-MAIL: course@inflearn.com | 사업자번호:499-81-00612
주소:성남시 분당구 삼평동 대왕판교로 645번길 12 경기창조경제혁신센터 8층 R19 | 개인정보보호책임자:이형주
통신판매업:2017-서울강남-01544 | ©INFLAB. ALL RIGHTS RESERVED