Udemyの動画講義を用いながらSpring Bootを用いてREST APIを構築した。今回ではREST APIをデータベース(My SQL)に対応させる演習を行った。いまいちパッとしない単語などを明確にしながらどんな仕組みで動いているかに着目して書いていく。
1.SpringBootとは
Java言語の環境下で使用できるWebアプリケーションの開発をサポートするフレームワーク₁のことで設定がシンプル、組み込みサーバー、依存関係を自動管理など様々な便利な機能がある。使用することで開発の効率化や品質の向上などが見込める。
1-1.フレームワークと依存関係の違いについて
フレームワークとはアプリ開発のための土台に事で共通の処理を提供してくれる。(SpringBootもそうだけど他のもあるよ)一方、依存関係とはプロジェクトで使う外部ライブラリのことでpom.xml(Maven)やbuild.gradle(Gradle)で必要なライブラリを指定している。例えると、「フレームワーク=車のフレーム、依存関係=マフラーやカーナビなどのオプションパーツ」
1-1-1.依存関係の種類について
依存関係は大きく分けて「インフラ系」と「フレームワーク補助系」がある
インフラ系(基板)...外部サービスやDB(データベース)と接続する役割(MySQLDriver、PostgreSQLなど)
フレームワークサービス系...SpringBootの機能を拡張(SpringDataJPA、Spring Security)
1-2.RESTとは
Webシステム設計原理の1つで、URLとHTTPメソッドを使ってデータをやり取りする仕組み。
REST = API 設計のルール
URL でリソースを表す
HTTP メソッド(GET, POST, PUT, DELETE)で操作する
ステートレス(サーバー側で状態を持たない)
1-2-1.API(Application Programming Interface)とは
あるサービスが提供する機能を、別のプログラムから利用できるようにするもの。API=ほかのサービスと連携できるインターフェース
2.MySQLとは
データベース管理システムのこと。リレーショナルデータベースという保存方法を使っており、データを複数の「テーブル」と呼ばれる個別のストレージの分割する2。
まとめ
SpringBootで作ったRESTAPIをMySQLに対応させるにはSpringBoot内の依存環境のSpring Web,Spring Data JPA,My SQL Driverを用いてMySQLと繋げ(厳密にはMy SQL Driver)データベースをMySQLで管理でき、大きなデータの検索・作成・更新・削除が容易になる。
次回予告 MySQLと対応させるために必要なアプリケーションクラスについて、重要なアノテーション