강의

멘토링

로드맵

Inflearn brand logo image
BEST
Programming

/

Back-end

[改訂版2023-11-27] Spring Boot 3.xを利用したRESTful Web Servicesの開発

このレッスンは、Spring Bootを使用してRESTful Web Servicesアプリケーションを開発するプロセスについて学ぶことで、REST APIの設計に必要な基本的な知識を学ぶことができます。

  • Dowon Lee
Spring Boot
REST API

学習した受講者のレビュー

こんなことが学べます

  • Spring Boot

  • REST API

  • RESTful services

  • JPA

  • OAS 3.0(Swagger Specification)

Spring Boot RESTful API入門のバイブル!

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

本講義は、Spring BootとSpring Cloudを利用したMicroserviceを開発する過程において、
RESTfulサービスを設計し、Spring Cloud APIを利用した実装及び運営について学習できるよう構成した講義です。


📝 講義紹介

# マイクロサービス(Microservices)とは何ですか?

「マイクロサービスは、ソフトウェア開発技術の一つで、サービス指向アーキテクチャ(SOA)構造スタイルの変種として、アプリケーションを疎結合なサービスの集合として構成する手法です。マイクロサービスアーキテクチャでは、サービスは細粒度で、プロトコルは軽量です。」- 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を使ってWebアプリケーションを開発したい人

  • REST APIアプリケーションを開発したい人

  • マイクロサービスを開発したい方

前提知識、
必要でしょうか?

  • Java

  • Webアプリケーション

  • Spring frameworkの基本知識

こんにちは
です。

29,298

受講生

1,560

受講レビュー

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分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

452件

4.8

452件の受講レビュー

  • kang님의 프로필 이미지
    kang

    受講レビュー 1

    平均評価 5.0

    5

    91% 受講後に作成

    Rest api기본입문으로 아주 좋네요.감사합니다. 딱 원하던 강의 였습니다. SpringBoot2.2이상일때 Swagger가 추가된경우 HATEOS사용에러발생합니다. 저처럼 삽질하는 사람이 있을까봐 ... NoUniqueBeanDefinitionException발생 해결:Swagger설정파일클래스에 이하추가. @Primary @Bean public LinkDiscoverers discoverers() { List<LinkDiscoverer> plugins = new ArrayList<>(); plugins.add(new CollectionJsonLinkDiscoverer()); return new LinkDiscoverers(SimplePluginRegistry.create(plugins)); }

    • OMG님의 프로필 이미지
      OMG

      受講レビュー 205

      平均評価 5.0

      5

      91% 受講後に作成

      인강임에도 시간당 1만원이 넘어가는 인프런 내의 강의들이 수두룩하고 부담도 많이 되는 가격이 많은데 그러한 강의들에 비해 상당히 저렴한 가격에 퀄리티 또한 비싼 강의들과 비교하여도 부족함이 전혀 없는 강의라고 생각합니다. 다음 강의도 기대하겠습니다! 좋은 강의 감사해요 :)

      • 김태윤님의 프로필 이미지
        김태윤

        受講レビュー 1

        平均評価 3.0

        3

        89% 受講後に作成

        내용 : 상 준비 : 상 버벅거림 아예없을정도로 준비많이하시는듯 아주좋은강의입니다. 최대단점 : 목소리도 좋으신분이 녹음을 어떻게 햇는지 소리가 너무너무너무너무너무작습니다. 정말 작아서 스트레스받을정도에요 부디 다음강의부터는 신경써주시길 바랍니다. ---완강후--- 정말정말정말 잘들었습니다. 다른강의들랑 비교되는 강의력 가지고 계셔요. 두번빠르게 돌리고 깃에 정리했습니다. 나도모르는새에 많은것을 배웠네요 연속된 강의가 없기에 다른 강의를 들으러 가보겠습니다. 추후 강의 오픈하면 또 구매해서 듣도록 하겠습니다 다른강의들으로가는데 DAWON 강사님과 비교되서 걱정이네요.ㅎㅎ 무튼 잘듣고갑니다. ps.소리는 볼륨30에서도 충분히 들리도록 설정해주세요! 강의를 위해 소리를 100으로 해놓고 듣다가 다른 알람등이 울리면 귀가터집니다ㅜㅜ.

        • Dowon Lee
          知識共有者

          안녕하세요, 이도원입니다. 강의 녹화 후, 인프런 담당 매니저와 상의했던 부분인데, 윈도우, 맥환경에 테스트 시 중간 이상 볼륨일 경우 수업에 지정이 없었기에, 그대로 강의를 공개했었습니다. 불편을 드려 죄송하며, 추후에 강의 공개할 때는 신경쓰도록 하겠습니다. 감사합니다.

      • Olive님의 프로필 이미지
        Olive

        受講レビュー 3

        平均評価 5.0

        5

        91% 受講後に作成

        완강했습니다. 스프링 기초적인 지식만 있다면 부트 REST API 입문 강의로 너무 좋은 것 같습니다!! 후속 강좌 나오면 꼭 보러 오겠습니다

        • Ppojin님의 프로필 이미지
          Ppojin

          受講レビュー 1

          平均評価 5.0

          5

          100% 受講後に作成

          잘들었습니다. 지금까지 스프링 부트에 대해서 잘 모르고 있었는데, 이렇게 많은 기능들이 있고 그 기능들을 한번씩 써보면서 이제 스프링 부트가 뭔지 어떻게 써야 하는지에 대해서 조금은 알게된것 같습니다.

          ¥3,518

          Dowon Leeの他の講座

          知識共有者の他の講座を見てみましょう!

          似ている講座

          同じ分野の他の講座を見てみましょう!