Java

【Java】「Spring Boot」でAPIの作成。「Hello World!」を返すサンプル。

どうも、とがみんです。

この記事では、Javaの「Spring Boot」というフレームワークを使用して、「Hello World!」を返すプログラムの作成方法について紹介しています。

開発環境には「STS(Spring Tools Suite)」を利用しているので、開発環境の構築がまだの場合は以下の記事を参考にしてください。


作成するもの

今回作成するものは、ブラウザ上でhttp://localhost:8080/helloを入力すると、「Hello World!」が表示されるプログラムです。

これを、Javaの「Spring Boot」というフレームワークを利用して作成します。

作成手順

作成の手順として、以下のステップで説明していきます。

  1. Spring Boot でのプロジェクトの作成
  2. デフォルトで用意されているファイルの説明
  3. 「Hello World !」を表示するプログラムの作成

Spring Boot でのプロジェクトの作成

まず、Spring Bootを使用したプロジェクトの作成方法について紹介してきます。

以下の図のように、ファイル新規Springスターター・プロジェクトを選択します。

次に、プロジェクト名を入力し、次へボタンを押します。

次に、使用するフレームワークを選択します。

今回は、Webに「Hello World !」と表示するプログラムを書くので、「Spring Web スターター」にチェックし、「完了」ボタンを押します。

Webスターターをチェックすることで、「Spring MVC」、「Tomcat」、「Jackson」のようなライブラリを使用することができます。

完了ボタンを押すと、以下のようなディレクトリ構成のフォルダ、ファイルが生成されます。

次に、src/main/java/com.example.dem/のフォルダにデフォルトで、HelloApplication.javaというファイルが入っているので、それについて説明します。

デフォルトで用意されているファイルの説明

src/main/java/com.example.dem/のフォルダにデフォルトで入っている、HelloApplication.javaというファイルに書かれているプログラムについて説明していきます。

HelloApplication.javaのファイルに書かれているコードは以下のような感じです。

上のコード中の番号に合わせて説明していきます。

①パッケージの指定

パッケージとは、Javaのクラスをまとめて分類するための仕組みです。
クラスの先頭で「package」と宣言することで、そのクラスが分類されるパッケージを指定することができます。もし、パッケージが未指定だと、デフォルトパッケージに分類されます。

②クラス・インターフェースを参照

importを利用することで、他のパッケージ内のクラスやインターフェースを利用することができます。

③アノテーション

「アノテーション」とは、あるデータに対して、関連する情報を付与し、コンパイラや実行環境に対してプログラムがどういうものかを伝えるものです。

@SpringBootApplicationをつけることで、HelloApplicationクラスが、Spring Bootの起動クラスであることを伝え、起動に必要な機能や設定が自動で組み込まれるようになってます。

>18. Using the @SpringBootApplication Annotation

④mainメソッド

mainメソッドは、プログラムを実行する時に最初に呼び出されるメソッドです。

mainメソッドでは、SpringApplication.run(HelloApplication.class, args);が実行されていますが、これが、Spring Bootによるアプリケーションを起動するための処理です。

これが実行されることで、APIを受けれるようになります。

「Hello World !」を表示するプログラムの作成

最後に、http://localhost:8080/helloというリクエストに対して、「Hello World !」と返すプログラムを作成します。

以下の図のように、新規クラスで、新しいクラスのファイルを作成します。

以下の新規Javaクラス作成用のWindowが表示されるので、クラス名を入力し、完了ボタンを押します。

以下のコードがかかれたファイルが生成されます。

上記のコードを以下のように変更します。

上記プログラムについて簡単に説明します。

①@RestControllerについて

@RestControllerアノテーションは、WebAPI用のコントローラーで使用します。

似たものに@Controllerもありますが、これは、Webページ用のコントローラーで使用します。

今回は、Viewを経由せずに、「Hello World!」を表示させるので、@RestControllerを使用します。

>Spring MVCのコントローラでの戻り値いろいろ

②@RequestMappingについて

@RequestMappingというアノテーションを記述することによって、クライアントからのリクエストに対して、どの処理を実行するのかといったマッピングを行います。

上記のコードの場合、「http://localhost:8080/hello」というリクエストに対して、helloworld()というメソッドが実行されます。

プログラムの実行

最後に作成したプログラムを実行します。

以下の図のようにボタンを押すとプログラムが起動されます。

ブラウザで、「http://localhost:8080/hello」と入力すると、以下のように「Hello World !」が表示されます。

まとめ

Javaの「Spring Boot」というフレームワークを利用して、「Hello world!」を表示するプログラムを作成しました。

参考文献

>MavenでJavaプロジェクトを作ろう (4/5)
>Java Spring Bootでhello worldを表示するサンプル