2025.02.19

Spring BootでRestFul!【Spring Boot 3 ではじめるRESTful Web Service開発入門】受講体験記

佐藤梨花
SB C&S株式会社 テクニカルマーケティングセンター
このエントリーをはてなブックマークに追加

こんにちは。
SB C&Sの佐藤です。

本ブログでは先日参加させていただいた、株式会社カサレアル主催の「[オンライン開催]Spring Boot 3 ではじめるRESTful Web Service開発入門」の概要や学習内容、感想をまとめさせていただきます!

ちなみにこちらは前回参加した「[オンライン開催]Spring Boot 3 ではじめるWebアプリケーション開発入門」と一部重複する内容となっているため、今回はこちらの研修との差分や、それぞれおすすめする対象者といった観点で解説させていただきます。「全体の研修内容詳細についても知りたい!」という方や「そっちの研修にも興味ある」という方は、研修の内容の充実ぶりを熱く語っている是非前回記事も併せてご覧ください。

画像1.png

概要

このオンライン研修は、今最も普及しているJavaフレームワーク「Spring Boot」の中でも最新バージョンである「Spring Boot3」を使って、RESTful Web Serviceの基礎を学ぶコースです。

このコースでは、実際にプログラムを作成しながら学習することができるので、初心者の方でも安心して参加できます。HTTPプロトコルやリクエストメソッド、リクエストパラメータなどの基本的な概念から、Spring MVCを利用したRESTful Web Serviceの開発、さらに MyBatisを使用したDBアクセスの実装まで、サービス開発の基礎を幅広くカバーしています。
特にこのコースはタイトル通り「RESTful Web Service」に焦点を当てた研修となっているため、APIについてより具体的に学べる内容となっています。昨今はAIの登場と発展でAPI使用についても活性していきているため、この機会にSpringフレームワークと併せて学ぶというのはとても有意義ではないでしょうか。
こちらの研修も、具体例や内部仕様といったディープな座学、豊富なサンプルコードとTODOコメント付きで分かりやすいハンズオン、丁寧で隙のない質疑応答といった濃密なプログラムで構成されています。2日間という短い期間の開催ではありますが、必ず新しい発見や実務に繋がる学びを得られる内容となっております。

開催日数は先述の通り2日間となり、各日程9301700(うち昼休憩1時間)のオンライン開催となっています。休憩も適宜行われるため、自身の振り返りを挟みつつ、負担なく参加することができました。

学習内容

このコースは以下の10章で構成されております。※202412月現在
また一部章については前回ご紹介済みの研修と内容が重複するため簡略化させていただいております。章タイトル後ろに「※」が付加されているものが対象となります。

・Spring Framework/Spring Boot概要()

・超速習DIコンテナ()

・Webアプリケーション概要()

・RESTful Web Service開発入門

この章ではSpring MVCを使用したRESTful Webサービスの開発方法を学習できます。まずは座学でSpring MVCの概要や従来のWebアプリケーション開発との違いを学習し、その後サンプルプロジェクトを使用した学習とハンズオンに移行します。
サンプルプロジェクトではRESTfulアプリケーションでのデータ操作方法(@RequestMapping@GetMappingといったアノテーションを使用)を、「Postman」というAPIテストツールを使用して学習できます。

画像2.png

・Bean Validationによる入力検証

5章ではSpring BootBean Validationを活用した入力検証の方法について学習できます。Bean Validationの基本概念や、クラスのフィールドやメソッドの引数にアノテーション(@NotNull, @Size, @Emailなど)を付加することで、バリデーション(入力検証)を自動化できることを学べます。アノテーションはJakarta Bean Validation 3.0に準拠したアノテーションや、Hibernate Validatorでの学習となります。

また相関バリデーションといった応用術まで学ぶことができ、それらをハンズオンで実践することで、しっかりと理解し、身に着けることが可能です。

・例外処理1(入力検証結果のレスポンス)

この章を学習することで、Spring MVCでの例外処理の方法を学習し、特に入力検証エラーを適切にレスポンスする方法について理解を深めることが可能です。機能学習のみでなく、「なにが問題で、なぜ検証が必要なのか」という内容も併せて解説が行われるため、より深い理解が可能になっています。

ハンズオンでは@ExceptionHandler を利用したカスタムエラーハンドリングはもちろん、HandlerExceptionResolverの利用方法、アプリケーション全体の例外処理、コラムではカスタムメッセージの作成といった内容まで触れられるため、より実践向きの内容となっております。

・永続化層

7章「永続化層」では、データベースアクセスを担当する永続化層(Persistence Layer の設計と実装について学びます。特に、MyBatisおよび MyBatis-Springを活用したデータアクセス手法に焦点を当てた内容となっております。
座学で永続化層に関する概要やMyBatisMyBatis-Springについて学び、ハンズオンでは実際に検索、追加、更新、削除といった操作をMyBatisMyBatis-Springを使用して実装します。
またMapperインタフェースを活用したデータ操作を実装や適切なデータベース接続設定とSQLの記述方法といった内容にも触れ、データベースに関する基礎をしっかりと学べる章となっております。
画像3.png
※起きやすいケアレスミスについてもしっかり解説!

・ビジネスロジック層

この章ではSpring Bootアプリケーションにおけるビジネスロジック層の役割と実装方法について学習します。前章で学んだ永続化層の内容を踏まえた内容となっており、流れで学ぶことでより理解度が高まる構成となっています。
またビジネスロジック層は永続化層のインスタンスを必要とするため、SpringDependency Injection (DI) を利用するため、こちらの内容についても改めて触れつつ解説が行われます。初期に学んだ内容を復習しながら進められるのは嬉しいですね。
ハンズオンでは@Transactionalを使用したトランザクション処理、AOPAspect-Oriented Programming)といった内容まで含めて、サンプルコードで確認、実装可能です。

・プレゼンテーション層

9章では、Spring Bootを用いたフルスタックなREST API開発の最後の仕上げとして、プレゼンテーション層を構築する方法を学習します。RESTful Web Serviceを完成させるため、全件検索・ID検索・登録・更新・削除の機能を実装していきます。Spring MVCの全体像として、コントローラーメソッドをビジネスロジック層と連携させ、リクエストパラメータの受け取りやバリデーションの適用方法も解説していただけるため、これまで学習した各層の復習にもなります。

その他にもSQLLIKE検索のエスケープやJavaレコードクラスの活用についても紹介され、最終的に、フルスタックなREST APIの構築を完了することが可能です。ここまでくると、実用にかなり近いですね!

・例外処理2(アプリケーションで発生した例外のハンドリング)

本研修の最終章として、アプリケーション内で発生する例外を適切に処理する方法を学びます。ハンズオンでは前章までで作成したアプリケーションの問題点解決としてこの章で例外処理を作成していきます。この章構成もとても面白いと感じました。
ハンズオンの内容としては、データが存在しない場合の例外処理として独自のEmployeeNotFoundExceptionを作成し、サービスクラスで例外をスローする方法を学びます。そして最終的に、アプリケーション全体で適切なエラーハンドリングを実装できるようになります。例外処理は実際のアプリケーションでも対応必須な内容のため、研修でしっかり学べるのは嬉しいですね。画像4.png
※全体像も図解で分かりやすい!

まとめと感想

研修に参加させていただき、カサレアル様の研修は前回同様やはり「基礎から実務応用可能な内容」「研修教材の丁寧さ」「講師の方の知識豊富さ」が素晴らしいと感じました!ただの研修に収まらない、「技術者を育てるための研修」とはこういったものなのだな、と改めて感心させていただきました。この辺りの研修の全体的な感想については前回ブログで熱く語らせていただいておりますので、是非そちらをご覧ください。

今回特に舌を巻いたポイントとしましては、参加者様から「長くなりすぎたSQLを外部に持たせることはできるか?」という内容の質問に対し、なんと研修資料に組み込み済みであったという点です。実務反映を考えたうえで資料が作成されているのが良く分かります。画像5.png
ちなみにこの質問が出されたのは研修序盤だったのですが、この時点でこの質問が出てくるというレベルの高さや、参加者の方が学習した内容を実務へ活かすことをしっかり考慮されながら参加されている点(「確かに気になる!」という質問が多々飛び交います)にも驚きました。講師の方だけでなく、参加者の方から学ぶことも沢山あるというのが素晴らしいですね。
質問は口頭以外にも専用のポータルで行うこともできるので、気になった点はどしどし質問してみてください!
画像6.png講師の方が研修資料以外からも、参考になる情報をその場で調べて共有していただけたりもします。これは嬉しい
画像7.png<ある質問に対して、補足として投稿された参考情報>

 ということで2日間参加させていただき、この研修は「Java経験者で、Spring Bootを活用したREST API開発を学びたいエンジニア」に最適であると感じました。特に、業務システムのバックエンド開発を実践的に学びたい人、例外処理といった実際の業務における処理作成のベストプラクティスを習得したい人におすすめです!

詳細なおすすめの対象者と理由は以下のようになると考えております。特に「★」マークがついているものは、RESTful Web Serviceならではの内容であるため、こういった内容を重要視される方には本研修を是非おすすめしたいです!

1.Javaの基本を理解しているが、Spring Bootを初めて学ぶ人

・Spring Frameworkの概要から学び、Spring Bootを用いた開発の流れを体系的に学べる
・DIコンテナやBeanの基本も説明されているため、Spring自体に触れたことがない人でも理解しやすい

2.RESTful Web Serviceの開発を経験したい人 ★

・RESTの概念やHTTPの基本を学びつつ、Spring MVCを活用してREST APIを実装できるようになる
・コントローラーの設計から、リクエストの処理、レスポンスの作成まで、実践的なサンプルを通じて習得可能

3.Spring Bootを使って業務システムのバックエンドを構築したい人 ★

・ビジネスロジック層、永続化層の設計や、MyBatisを使ったデータベースアクセスの実装を詳しく解説
・実際の業務開発で求められるトランザクション管理(@Transactional) についても学べる

4.Spring Bootでの例外処理やバリデーションを学びたい人

・Bean Validation を活用した入力チェックの方法や、例外発生時の適切なレスポンスの設計を学習できる
・@RestControllerAdvice を活用した例外処理の統一化など、実際のプロジェクトに役立つ内容

5.Spring Boot 3の新機能や最新の開発環境を学びたい人

・Jakarta EE 10、Java 17など最新のSpring Boot 3の技術スタックに準拠した開発方法を学べる
・既存のSpring Boot 2系からの移行を考えている人にも適している

ではここで、逆におすすめしない人についても3点ほどピックアップさせていただきました。しかしこちらについても、カサレアル様ではそちらの要望にあった研修をご用意されておりますので、是非併せてご検討ください!

・Javaの基礎を全く知らない人
Spring Bootでの開発に焦点を当てており、Javaの基本文法やオブジェクト指向の説明は少ないため
⇒「Javaプログラミング入門」、「Javaプログラミング基礎」がおすすめ!!

・フロントエンド開発のみを学びたい人
APIやバックエンド開発が中心であるため
⇒前回紹介した「Spring Boot 3 ではじめる Webアプリケーション開発入門」がおすすめ!!

・Spring Bootの応用を学びたい人
基礎的な部分の解説が中心であり、テストやセキュリティといった内容は少ないため
⇒Spring Boot に関する研修(もちろんその他のフレームワークも!)を数多く取り揃えているため、学びたい分野をピンポイントで学べます!詳細はこちらのwebページよりご確認ください。

 

いかがだったでしょうか。このブログを通じて興味を持たれた方、Springを学んでみたくなった方、Springをもっと開発に活かしたくなった方、ぜひ研修に参加してみてください!2日間で沢山の学びを持って帰れること間違いなしです!

本ブログではカサレアル様が開催するSpringに関する別研修に関しても、今後レポートさせていただく予定です。お楽しみに!

この記事の著者:佐藤梨花

SB C&S株式会社 テクニカルマーケティングセンター

勤怠管理システムの開発(使用言語:Java)に約8年間従事。
現在はエンジニア時の経験を活かしたDevOpsやDX推進のプリセールスとして業務に精励しています。


DevOps Hubのアカウントをフォローして
更新情報を受け取る

  • Like on Feedly
    follow us in feedly

関連記事

このエントリーをはてなブックマークに追加

お問い合わせ

DevOpsに関することなら
お気軽にご相談ください。

Facebook、TwitterでDevOpsに関する
情報配信を行っています。