Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
개발 · 프로그래밍

/

백엔드

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

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

(4.8) 수강평 451개

수강생 4,832명

  • Dowon Lee

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • Spring Boot

  • REST API

  • RESTful services

  • JPA

  • OAS 3.0 (Swagger Specification)

스프링 부트 RESTful API 입문의 바이블!

이도원 / Dowon Lee - Spring Boot (스프링부트) RESTful Web API

본 강의는 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와 Spring Cloud를 이용하여 Microservice Architecure로 웹 서비스를 설계하고, 구현, 운영 관한 전반적인 과정을 학습하실 수 있습니다. (로드맵 보기)

첫번째 과정 (현재 강의)

REST API를 개발하기 위해 Spring Boot로 프로젝트를 생성하는 단계부터, REST API를 설계하고 애플리케이션을 구현하는 과정에 대해 학습합니다.

두번째 과정 (이어지는 강의)

Spring Boot와 Spring Cloud를 이용하여 Microservice Architecture를 설계, 구축하는 방법에 대해 학습합니다.

📢 수강 전 확인해주세요

  • 강의에 사용된 개발 툴 및 라이브러리는 다음과 같습니다. 
    • Java 17 + IntelliJ IDEA + Postman 
    • Spring Boot 3.1.5(Spring Boot Security, Actuator, Starter, Spring Data JPA 등)
    • OpenAPI Specification 3.0  
    • Swagger UI 5.2.0
    • H2 2.1.214
  • 강의에 사용된 실습 코드 및 교안(PDF)은 Github에서 확인해 보실 수 있습니다

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • Spring Boot를 이용해서 웹 애플리케이션을 개발하려하는 분들

  • REST API 애플리케이션을 개발하려는 분들

  • 마이크로서비스를 개발하려는 분들

선수 지식,
필요할까요?

  • Java

  • Web Application

  • Spring framework에 대한 기본 지식

안녕하세요
입니다.

29,173

수강생

1,550

수강평

1,352

답변

4.8

강의 평점

8

강의

저는 IT 엔지니어입니다. 언젠가 직업란에 "회사원?", "개발자?", "강사?" 어떤 단어를 선택해야 할 지 고민이 되었던 때가 있었습니다. 그러다가, IT 엔지니어라는 표현이 제가 잘 어울리는 직업명이라는 생각이 들어 지금까지도 직업란에는 "IT 엔지니어"라고 적고 있습니다.

직업이라는 것은 자신의 일을 나타내는 것이고, 일이라는 것은 재미있고, 도움이 되는 일이면 좋겠다는 생각을 가지고 있습니다. 누구나 다 원하는대로 일을 하며 살수는 없지만, 저는 제가 하는 있는 이 일을 좋아하는 있고, 잘하고 싶어하는 사람입니다. 개발자로써, 강사로써, 컨설턴트로써의 역할을 해 오면서, 매번 새롭게 출시되고 변화하는 IT 신기술을 따라가기에 급급하지만, 그래도, 남들보다 조금이라도 먼저 접하고, 전파하고, 사용하고 싶은 사람 중 한명입니다. 

최근 관심을 가지고 있는 분야는 온라인 교육 컨설팅입니다. 그리고 관심있는 기술은 Cloud Native Architecture, Blockchain, Machine Learning, Kafka, Kuberbetes 등입니다. 이러한 기술은 실제로 강의도 하고 있고 업무에 적용해서 사용도 하고 있습니다. 하지만, 워낙 방대한 주제이다 보니, 아직까지도 계속 공부하고 있습니다.

머리속에 가지고 있는 것은 진정한 지식이 아니라고 합니다. 저는 제가 가진 지식과 경험을 다양한 방벙을 통해 공유하려 합니다. 그리고, 새로운 분야, 새로운 기술에 계속 도전하고 있는 IT 엔지니어가 될 것입니다.  

 

 

  • ) 엔제이원컴퍼니 대표 

  • ) 동국대학교 국제정보대학원 정보보호학과 대우교수

  • ) JP Morgan Chase AMJ Tech consultant (일본)

  • ) 삼성 SDS CMS 사업본부 책임 엔지니어

 

 

커리큘럼

전체

52개 ∙ (6시간 57분)

강의 게시일: 
마지막 업데이트일: 

수강평

전체

451개

4.8

451개의 수강평

  • kang1161님의 프로필 이미지
    kang1161

    수강평 1

    평균 평점 5.0

    5

    91% 수강 후 작성

    Đây là phần giới thiệu cơ bản về Rest API rất hay. Cảm ơn bạn. Đó chính xác là khóa học tôi mong muốn. Nếu Swagger được thêm vào SpringBoot 2.2 trở lên sẽ xảy ra lỗi khi sử dụng HATEOS. Không biết có người xẻng như tôi không? NoUniqueBeanDefinitionException xảy ra Giải pháp: Thêm phần sau vào lớp tệp cấu hình Swagger. @Sơ đẳng @Bean công khai LinkDiscoverers người khám phá() { Danh sách<LinkDiscoverer> plugin = new ArrayList<>(); plugin.add(Bộ sưu tập mớiJsonLinkDiscoverer()); trả về LinkDiscoverers mới (SimplePluginRegistry.create(plugins)); }

    • omg님의 프로필 이미지
      omg

      수강평 205

      평균 평점 5.0

      5

      91% 수강 후 작성

      Mặc dù là bài giảng trực tuyến nhưng có nhiều bài giảng trong Infron có giá hơn 10.000 won mỗi giờ và giá cả rất đắt. Tuy nhiên, tôi nghĩ bài giảng này khá phải chăng so với những bài giảng đó và chất lượng cũng không hề thua kém. tất cả so với những bài giảng đắt tiền. Tôi đang mong chờ bài giảng tiếp theo! Cảm ơn bạn vì bài giảng tuyệt vời :)

      • rlaxowns20068222님의 프로필 이미지
        rlaxowns20068222

        수강평 1

        평균 평점 3.0

        3

        89% 수강 후 작성

        Nội dung: Giải thưởng Chuẩn bị: Trao giải Đó là một bài giảng rất hay, dường như đã được chuẩn bị kỹ lưỡng đến mức không hề có một chút lắp bắp nào. Hạn chế lớn nhất: Âm thanh rất rất rất yên tĩnh do người có giọng hát hay ghi lại nó. Nó nhỏ đến mức gây căng thẳng. Hãy chú ý từ bài giảng tiếp theo. ---Sau khi hoàn thành khóa học--- Tôi thực sự, thực sự đã lắng nghe một cách cẩn thận. Bạn có kỹ năng giảng dạy tương đương với các bài giảng khác. Tôi xoay nó nhanh hai lần và sắp xếp nó vào cổ áo. Tôi đã học được rất nhiều điều mà không hề nhận ra. Vì không có bài giảng liên tiếp nên tôi sẽ đi nghe bài giảng khác. Khi khóa học mở ra trong tương lai, tôi sẽ mua nó và nghe lại. Tôi đang đi giảng bài khác nhưng lại lo lắng bị so sánh với giảng viên DAWON. Dù sao thì tôi cũng đang lắng nghe cẩn thận. Tái bút. Vui lòng đặt âm thanh sao cho có thể nghe rõ ngay cả ở âm lượng 30! Tôi nghe nó với âm lượng được đặt ở mức 100 cho một bài giảng và khi một tiếng chuông báo thức khác vang lên, tai tôi bắt đầu ù đi.

        • kenneth
          지식공유자

          Xin chào, đây là Lee Do-won. Sau khi ghi bài giảng, tôi đã thảo luận với người quản lý phụ trách Cơ sở hạ tầng. Khi kiểm tra trên môi trường Windows và Mac, nếu âm lượng trên mức trung bình thì không có chỉ định lớp nên bài giảng vẫn được phát hành. Chúng tôi xin lỗi vì sự bất tiện này và chúng tôi sẽ chú ý hơn khi xuất bản bài giảng trong tương lai. Cảm ơn

      • zerowest10016015님의 프로필 이미지
        zerowest10016015

        수강평 3

        평균 평점 5.0

        5

        91% 수강 후 작성

        Tôi thật bướng bỉnh. Nếu bạn có kiến ​​thức cơ bản về Spring thì đây là khóa học giới thiệu tuyệt vời về Boot REST API!! Tôi chắc chắn sẽ đến xem khóa học tiếp theo khi nó ra mắt.

        • ppojin님의 프로필 이미지
          ppojin

          수강평 1

          평균 평점 5.0

          5

          100% 수강 후 작성

          Tôi nghe rõ lắm. Tôi chưa biết nhiều về Spring Boot cho đến bây giờ, nhưng có rất nhiều tính năng và bằng cách sử dụng từng tính năng một, tôi nghĩ bây giờ tôi đã biết một chút về Spring Boot là gì và cách sử dụng nó.

          월 ₩125,365

          5개월 할부 시

          ₩29,700

          Dowon Lee님의 다른 강의

          지식공유자님의 다른 강의를 만나보세요!

          비슷한 강의

          같은 분야의 다른 강의를 만나보세요!