第3章. 最初のSpring Boot REST APIを作成する
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この章では、Spring Bootを使って基本的なアプリケーションを開発する方法を説明する。ほとんどのアプリケーションは、バックエンドのクラウドリソースをユーザに、通常はフロントエンド向けのUIを介して公開することになるので、アプリケーションプログラミングインタフェース(API)は、理解と実用性の両方にとって優れた出発点となる。さっそく始めよう。
APIの方法と理由
何でもできるモノリシック・アプリケーションの時代は終わった。
これは、モノリスがもはや存在しないとか、これからもずっと作成されないということではない。様々な状況下で、1つのパッケージで多数の機能を提供するモノリシック・アプリケーションは、特に以下のようなセットでは、依然として理にかなっている:
-
ドメインとその境界はほとんど不明である。
-
提供される機能は密結合であり、モジュール相互作用の絶対的なパフォーマンスは柔軟性よりも優先される。
-
関連するすべての能力に関するスケーリング要件は既知であり、一貫している。
-
関数が不安定なのではなく、変化が遅いか、範囲が限られているか、あるいはその両方である。
それ以外のものにはマイクロサービスがある。
もちろん、これは単純化しすぎだが、有益な要約だと私は信じている。能力を小さくまとまった「チャンク」に分割することで、それらを切り離すことができ、その結果、より柔軟で堅牢なシステムを構築できる可能性がある。
分散システムでは、そしてマイクロサービスで構成されるシステムはまさにそうである。どのサービスも島ではない。アプリケーション/マイクロサービスを接続する仕組みは数多くあるが、私たちは日常生活の基盤であるインターネットを模倣することから旅を始めることが多い。
インターネットはコミュニケーションのために作られた。実際、その前身であるARPANET(Advanced Research Projects Agency Network)の設計者は、「重大な中断」が発生した場合でもシステム間通信を維持する必要性を予期していた。われわれが日常生活の多くを営むのに使っているのと同じようなHTTPベースのアプローチによって、さまざまなリソースの作成、取得、更新、削除を "有線 "で行うことができると結論づけるのは妥当なことだ。
歴史は好きだが、REST APIの歴史については、Roy Fieldingが2000年の博士論文で、1994年のHTTPオブジェクト・モデルをベースにしたREST APIの原則を示したということ以外には深入りしない。
RESTとは何か、なぜ重要なのか?
前述したように、APIとは、我々のコードが他のコード(ライブラリ、他のアプリケーション、サービスなど)を利用できるように、我々開発者が記述する仕様/インタフェースのことだ。しかし、REST APIの RESTとは何を表しているのだろうか?
RESTとは、representational state transferの頭文字をとったもので、あるアプリケーションが別のアプリケーションと通信する際、アプリケーションAは現在の状態をそのまま持ってくる。通信に問題が発生したり、アプリケーションBがクラッシュして再起動した場合でも、アプリケーションAとのやりとりの現在の状態を失うことはない。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access