inflearn logo
知識共有
inflearn logo

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

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

難易度 初級

受講期間 無制限

Spring Boot
Spring Boot
REST API
REST API
Spring Boot
Spring Boot
REST API
REST API

お知らせ

8 件

  • kenneth님의 프로필 이미지

    こんにちは。Spring開発者向けの「実践LLMサービス開発(Part 1)」講義に、新しい補足講義を追加しました。最近公開されたTypeSafe AIの決定モデルJevをSpring Bootアプリケーションに連携する内容で、約1時間の講義です。

    なぜ追加したのか
    Section 4では、entity()を使ってLLMの応答をJavaオブジェクトとして受け取る方法と、モデルがJSONをコードフェンスで囲むことでパースに失敗する実務上の落とし穴を扱いました。プロンプトで依頼するにしても、entity()で自動化するにしても、結局のところLLMに形式を"お願い"する方式であるという限界は残ります。
    Jevは異なるアプローチを取ります。文章を書くのではなく、あらかじめ定められた選択肢の中から答えを選び、確率とともに返します。つまり、形式が構造的に保証されるということです。同じ入力を2つの方式で処理してみると、「構造化された出力」を設計する際に何を考慮すべきかが、より明確になります。そのため、Section 4の延長線上にある内容としてまとめました。

    何を学びますか

    1. JevとSystem Oneモデルの概念:テキストではなく「型が定められた決定」を返すことの意味

    2. LLMとJevの違い:記述式回答 vs 選択式回答、それぞれが得意なことと苦手なこと

    3. 3つの質問タイプ(choice・score・noul)と/v1/systemoneリクエストの構造

    4. Springから呼び出す:RestClientでJev APIを呼び出し、Java enumで選択肢を作成してレスポンスを型安全に変換する

    5. 比較デモ:同じ映画レビューをentity()とJevでそれぞれ分析し、速度、形式エラー、確信度、一貫性を比較する

    併せて更新された資料

    • セクション4のサンプルコード(ch4):レビュー分析API 2種(/api/movies/review/llm、/api/movies/review/jev)とJevClientを追加

    • 補足講義スライドと教材

    • 比較テストスクリプト:macOS用review-compare.sh、Windows用review-compare.ps1

    あらかじめ知っておいていただきたいこと

    • JevはSpring AIの機能ではなく、TypeSafe AIが提供する別個の外部サービスです。講義でもSpring AIのChatClientではなく、RestClientで直接呼び出します。

    • Jevは現在アーリーアクセス段階のため、APIキーの発行に時間がかかる場合があります。サンプルコードでは基本的にJev機能が無効になっているため(jev.enabled=false)、キーがなくても従来の演習はそのまま進められます。キーをお持ちでない方は、動画でのデモをご覧いただきながら、概念とコードを中心に学習してください。

    • リリース初期のサービスのため、今後価格やAPIが変更される可能性があります。変更があった場合は、新しいお知らせで改めてご案内いたします。

    📌講義はこちら: https://inf.run/VVpnV

    追加された講義を受講しながら疑問点や実習中に行き詰まった部分があれば、気軽にコメントでお知らせください。これからも実務ですぐに使える内容を継続的に充実させていきます。

    0
  • kenneth님의 프로필 이미지

    こんにちは、イ・ドウォンです。


    "Jenkinsパイプラインは作ってみたけれど、ArgoCDやGitOpsは概念を聞いたことがあるだけだ。"

    "dev・staging・production環境ごとのデプロイをどのように設計すべきか途方に暮れている。"


    このようなお悩みをお持ちの方に向けて、「JenkinsとArgoCDで学ぶ実践GitOps CI/CD」講座をインフランで公開しました。


    この講義はこのような点が異なります


    • Jenkinsベースの従来のCI/CDからArgoCDベースのGitOpsまで一緒に扱います。

    • Push方式(Jenkins)とPull方式(ArgoCD)を同じクラスター上で直接比較します。誰かがkubectlで手動変更を加えた際、一方はそのまま残り、もう一方は自動的に復旧する様子を目で確認し、ロールバックやデプロイ履歴の確認方法の違いも実際に体感します。

    • 2つの方式を組み合わせ、dev・stagingはJenkins Push、productionはArgoCD Pull(手動Sync承認)に分けるハイブリッドデプロイパイプラインを最初から最後まで構築します。

    • Canary、Blue-Green、RBAC、承認手順、障害対応、自動ロールバックまで、運用に必要な主要デプロイ技術を実践します。


    実習環境

    Docker Desktopひとつで進めます。WindowsとmacOSの両方に対応しており、AWSなどのクラウドアカウントや別途費用は必要ありません。


    このような方におすすめです


    • Jenkinsは使ったことがあるものの、ArgoCD/GitOpsは初めてのバックエンド・インフラエンジニア

    • Kubernetesデプロイを手動のkubectl applyから自動化へ移行したい方

    • デプロイの承認、ロールバック、監査証跡などの運用要件に悩むDevOps・SRE担当者


    総学習時間は約10~11時間で、実習資料とトラブルシューティングガイドも併せて提供されます。


    👉 講義を見る:https://inf.run/dEjZE

    気になる点があれば、コメントや講座のQ&Aにお気軽にお寄せください!

    0
  • kenneth님의 프로필 이미지

    今回、新たにSpring開発者のための実践LLMサービス開発(Part 1)講座を開講しました。少し遅きに失した感は否めませんが、Java開発者にとってなじみ深いSpring frameworkを利用してLLMアプリケーションを開発するために必要な内容を学べる講座として構成しました。ぜひご注目ください。


    なぜこの講義を作ったのか

    最近では、RAGやベクトル検索、AIエージェントといったキーワードはどこでも目にしますが、実際に"Spring Bootバックエンドにどのように組み込むのか"を実務レベルで扱った資料は多くありませんでした。

    この講義では、私が実際にRAG推薦エンドポイントをデバッグする中で経験した問題――文書をトークン単位でチャンク化したことで意味のまとまりが崩れ、検索品質が低下した経験や、段落単位のチャンク化に戦略を変更して問題を解決した過程――を、そのままカリキュラムに落とし込んでいます。チュートリアルのように正解コードだけを見せるのではなく、「なぜうまくいかないのか → どのように診断するのか → どのように直すのか」を一緒に追っていく形式です。


    このような方におすすめです

    • Spring Bootの経験はあるものの、LLM/AIサービス開発は初めてのバックエンド開発者

    • RAGやベクトル検索をチュートリアルではなく、実務プロジェクトレベルで適用したい開発者

    • 社内AI機能(チャットボット、ドキュメント検索、レコメンドなど)をSpringベースで自ら実装する必要がある実務担当者

    Spring BootでREST APIを作った経験があれば十分です。AI/LLMに関する事前知識は必要ありません。


    何を学びますか

    1. Spring AIのコア基礎 ChatClientの基本的な使い方、構造化出力(Structured Output)、ストリーミング応答の実装

    2. RAGパイプラインの構築 ベクトルストア連携、ドキュメントチャンク分割戦略の比較と実践的なトラブルシューティング、検索品質の改善、プロンプト設計

    3. ツール・マルチモーダルの拡張 MCP(Model Context Protocol)を活用した外部ツール連携、画像などのマルチモーダル入力処理、Dify連携

    4. サービスの安定化と実践プロジェクト ガードレールの適用、信頼性の高いサービス設計、これまで学んだ内容を統合するミニプロジェクト

    付録として、AIコーディングツールとOllamaの活用方法も併せて扱います。


    シリーズ案内

    今回リリースしたのは、全シリーズのPart 1です。Part 2、3ではさらに発展的なアーキテクチャと実践的なケースを扱う予定で、シリーズがすべてリリースされたら、パッケージ全体の割引も用意する予定です。


    📌 講義はこちら: https://inf.run/VVpnV

    気になる点やカリキュラムに関する質問は、コメント欄にお気軽にお寄せください。Part 1を通じて、皆さんのSpringサービスにLLMを組み込む第一歩を一緒に踏み出せればと思います。

    0
  • kenneth님의 프로필 이미지

    こんにちは、離島院です。

    今回新たに「Spring Bootを利用したRESTful Web Services開発」講義が更新されました。

    以前にSpring Boot 2.xバージョンで書かれた例を、新しくSpring Boot 3.1.xバージョンに変更して講義を再準備しました。

    1. Spring Boot 3.1バージョンを使用してRESTful APIを開発するプロセスに取り組んでいます。

    2. 講義で取り上げている例をSpring Boot 3.1バージョンに合わせてアップグレードしました。

    3. 新しいバージョンに合わせてSpring Securityの例が修正されました。

    4. Swagger Documentation部分は、従来使用されていたSpring Boot 2.7とSpring Boot 3.1に合わせてお使いいただけるように紹介しています。

      • Spring Boot 2.7 + springfox 3.0

      • Spring Boot 3.1 + springdoc(OAS 3.0)

    5. 既存の講義で、複数の受講生の方が言及していた講義録音を不便なく聞くことができるように再製作しました。

     

    新しく更新された講義にも関心をお寄せいたします。

    これからも良い講義でお会いしましょう。

    ありがとうございます。

     

     

    10
  • kenneth님의 프로필 이미지

    こんにちは、離島院です。

    コロナも少しずつ落ち着いていく姿であり、正常な社会生活に戻っているようです。

    2022年度夏が始まっています。梅雨が始まっているように澄んだ空を見るのは難しいですね。

    「 Spring Cloudで開発するマイクロサービスアプリケーション(MSA) 」講義の後続講義をお待ちいただく方には申し訳ないという言葉以外には申し上げません。もともと計画通りなら、今年1月にオープンしなければならない講義が進行していたプロジェクトの問題で、2月3月に延期されてまだオープンしていないんですね…でも…本当にすぐ!オープンしようと最後の準備作業中です。

    次のレッスンは、予定通りCI / CDに関連するレッスンです。今日はCI/CD講義の目次最初に紹介しようとしています。

    レッスンは6〜7セクションで構成されています。 Appendixをこの講義に含めるかどうかによって、6つまたは7つのセクションに分かれているようです。

    Section 1. DevOps と CI/CD

    1-1. DevOpsとCI/CD

    1-2. CI/CDワークフロー

    1-3. Jenkinsのインストール

    1-4. Exercisef #1

     

    セクション2. Jenkinsを使用したCI / CDの使用

    2-1. CI/CDのためのGit及びMavenのインターロック

    2-2. Exercisef #2

    2-3. CI/CD用のTomcat Server連携

    2-4. Exercisef #3

    2-5. PollSCM設定

    2-6. Dockerを使用した実践環境の構成

    2-7. Exercisef #4

     

    Section 3. Jenkins + Infrastructure as Code (Ansible を使用した Configuration Management)

    3-1. IaC

    3-2. Ansibleの概要

    3-3. Ansible インストール

    3-4. Ansible Playbook

    3-5. Exercise #5

    3-6. Docker イメージの配布

    3-7. Exercise #6

     

    Section 4. Jenkins + Ansible + Kubernets 連動

    4-1. Kubernetes Clusterにデプロイする

    4-2. Ansible + Kubernetes連動

    4-3. Exercise #7

    4-4. CI/CDプロセス

    4-5. Exercise #8

    4-6. Minikubeのインストール(Apple Silicon chip)

     

    Section 5. Advanced Jenkins の使用

    5-1. Delivery Pipelineの使用

    5-2. Jenkins Pipelineの設定

    5-3. Exercise #9

    5-4. Exercise #10

    5-5. Practices

    5-6。 SonarQube静的分析

     

    Section 6. Public Cloud にデプロイ

    6-1. AWS EC2 インスタンスの作成と Docker のインストール

    6-2. AWS にデプロイ

    6-3. Kopsを使用したKubernetes Clusterの構成

    6-4. NCPサーバーインスタンスの作成とDockerのインストール

    6-5. NCPへの配布

     

    Appendix

    A-1.必須SWのインストール

    A-2. Tomcat Serverのインストール

    A-3. SSH Server

    A-4. Windowsユーザー用のXShell、MobaXtermのインストール

    A-5. MacOSユーザー向けのTerminusのインストール

     

    講義に関心を持ってくださった方々に、もう一度感謝の挨拶をさせて、早く良い講義でお会いしましょう。

    ありがとうございます。

     

    0
  • kenneth님의 프로필 이미지

    こんにちは、離島院です。

    「Jenkinsを利用したCI/CD Pipelineの構築」講義では、以下の内容を取り上げたいと思います。

    Section 1. DevOps と CI/CD

    1. DevOpsおよびCI/CD

    2. CI/CD ワークフロー

    3. 必須SWの取り付け

    4. Jenkinsのインストール

    セクション2. Jenkinsを使用したCI / CDの使用

    5. CIのためのGit及びMavenのインターロック

    6. CDのためのTomcat Serverの連動

    7. CDのためのDockerのインターロック

    Section 3. Ansible を使用した Configuration Management

    8. Ansibleの概要

    9. Ansibleの使用

    10. Ansible Playbook

    11. PlaybookによるDockerイメージの登録

    Section 4. Jenkins + Ansible + Kubernets 連動

    12. Kubernetes Cluster にデプロイする

    13. Ansible + Kubernetes連動

    Section 5. Jenkins Pipeline の使用

    14. Delivery Pipelineの使用

    15. Jenkins Pipelineの設定

    Appendix

    1. Apple M1 ユーザー向けの Minikube のインストール

    2. AWS EC2 インスタンスの作成と Docker のインストール

    3. Windowsユーザー用のXShell、MobaXtermのインストール

    4. MacOSユーザー用のTerminusのインストール

    5. Kopsを使用したKubernetes Clusterの構成

     

    今後も継続的な関心とご声援お願いします。

    天気が少しずつ肌寒くなっています。みんな体調よくして、健康になることを願っています。

    ありがとうございます。

     

    5
  • kenneth님의 프로필 이미지

    こんにちは、離島院です。

    まず、講義に関心を持ってくださった多くの方か、ありがとうございました。

    Spring BootとSpring Cloudを活用したマイクロサービス関連講義は、CNCFに話すCloud Nativeのコンポーネント4つに合わせて講義を構成してみようと計画しました。

    - コンテナ仮想化

    - マイクロサービス

    - CI/CD

    - DevOps

    「Spring Bootを利用したRESTful Web Servicesの開発」と「Spring Cloudで開発するマイクロサービスアプリケーション」の講義を開始し、講義で触れていない内容であるMSA Achitecture、Pattern、Service Mesh、CI/CDは後続の講義で計画中です。そして、「Spring Bootを使用したRESTful Web Servicesの開発」のレッスンは、新しく更新されたライブラリを反映して再アップデートを計画しています。

    おっしゃった内容のように、次の講義は次の順番でオープンする予定です。講義オープン時期は他の業務と重なって引き続き延期されていますが、できるだけ今年オープンすることが目標です。

    1. CI/CD (8月中)

    2. MSA Architecture + Pattern + Service Mesh (9月~10月)

    3. WebFlux(~12月)

    暑い暑さとコロナで苦労していますが、みんな元気で、やりたいことをしてください。

    ありがとうございます。

    3
  • kenneth님의 프로필 이미지

    こんにちは、離島院です。

    「 Spring Bootを利用したRESTful Web Service開発」講義を始めて1年が経ちました。もう一度受講してくださった方々に感謝の挨拶をいたします。

    当初の計画は、後続の講義である「 Spring Cloudで開発するマイクロサービス」をすぐにオープンする予定でしたが、様々な事情で先延ばしが今やオープンするようになりました。

    「Spring Cloudで開発するマイクロサービス」は以下の内容を取り上げており、現在講義録画が完了し、インフラに提出した状態です。

    「 Spring Bootを利用したRESTful Web Serviceの開発」講義は全体の講義時間が7時間余りでしたが、今回の「 Spring Cloudで開発するマイクロサービス」はまだ録画が終わっていないにもかかわらず、すでに27時間を超えました。そこで、全2つのパートに分かれて講義を行いましたが、それでも扱えない部分については後続の講義を通じて進めなければなりません。

    今月の2021年3月にオープンしようと現在待機中であり、既存に計画していた内容を補完して以下の内容を扱っています。

    おっしゃったように、全体の講義は2つのパートで構成される予定であり、合計17のセクションのテーマに進行しようとしています。

    PART I
    セクション0. MicroserviceとSpring Cloudの紹介
    セクション 1. Service Discovery
    セクション 2. API Gateway Service
    セクション3. E-commerceアプリケーション
    セクション 4. Users Microservice ➀
    セクション 5. Catalogs and Orders Microservice
    セクション 6. Users Microservice ➁
    セクション 7. Configuration Service
    セクション8. Spring Cloud Bus

    PART II
    9. 設定情報の暗号化処理
    セクション10. Microservcie間の通信
    セクション11.データ同期のためのApache Kafkaの活用①
    セクション12.データ同期のためのApache Kafkaの活用②
    セクション 13. 障害処理と Microservice 分散トレース
    セクション 14. Microservice モニタリング
    セクション15.アプリケーションをデプロイするためのコンテナの仮想化
    セクション 16. アプリケーションのデプロイ - Docker Container
    Appendix: Microservice Architecture パターン

    関心を持ってくださった多くの受講生の方々にもう一度感謝申し上げます。

    ありがとうございます。

    5

¥3,755