最近、仕事で Spring Boot を使っているので、勉強した内容について書いていきます。
開発環境
Eclipse(日本語化プロジェクト)の最新のJava版をダウンロードして使用します。
Spring Boot
を使うとなると、Eclipse Spring Tool Suite (STS)
が必要になりますが、Pleiades All in One Eclipse
をダウンロードすれば、既に使えるような状態になっているかと思います。
プロジェクトの作成
eclipseで workspace を開きます。
新規プロジェクト作成ウィンドウを開き、「Spring Boot スターター・プロジェクト」を作成します。
これにより、デフォルトのSpring boot プロジェクトが作成されたかと思います。
コーディング
プロジェクトは作成できたので、次は Controller
を作成します。
一番最初に「Controller
を作成する」と聞いたときは、何のことを言っているんだ?と思いましたが、Spring boot では、アノテーションの@Controller
か@RestController
が設定されたクラスを作成することが、「Controller
を作成する」ということになるそうです。
@Controller
では@ResponseBody
を設定する必要がありますが、@RestController
はそれが必要ないので、今回は@RestController
を使って書いていきます。
(アノテーションとか、@Controller
の説明は、実装には影響しないかと思われるので、今回しません。機会があればそのあたりを書こうと思います。)
GETメソッドには@GetMapping
を設定し、POSTメソッドには@PostMapping
を設定します。
説明文でごちゃごちゃ書いてもよくわからないかと思いますので、作成したコードを下記に記載しました。
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* http://localhost:8080/controller で呼び出せる
*/
@RestController
@RequestMapping("/controller")
public class ControllerA {
/**
* GETメソッド
* http://localhost:8080/controller/get_method で呼び出せる
*
* @param param1 URL リクエストで ?get_param=~ で受信できるパラメータ
*/
@GetMapping("/get_method")
public String getA(@RequestParam("get_param") String param1) {
// テスト用のURL
// http://localhost:8080/controller/get_method?get_param=test
return "get メソッドのレスポンス_param->" + param1;
}
/**
* POSTメソッド
*
* @param param1 URL リクエストで ?post_param=~ で送信できるパラメータ
*/
@PostMapping("/post_method")
public String postMethod(@RequestParam("post_param") String param1) {
// テスト用のURL
// http://localhost:8080/controller/post_method?post_param=test
return "POST メソッドのレスポンス_param->" + param1;
}
}
実行
プロジェクトの実行ですが、右クリックし、「実行」→「Spring Boot アプリケーション」で実行できます。
・GETリクエスト
コード内のコメントでも記載していますが、プロジェクトを実行した状態で、http://localhost:8080/controller/get_method?get_param=test をブラウザーで開くことで呼び出せます。
呼び出した結果は下記の様になります。
・POSTリクエスト
POST用に下記のコードを書きました。
<!DOCTYPE html>
<html lang="ja">
<form method="post" action="http://localhost:8080/controller/post_method">
<input type="text" name="post_param" value="default">
<input type="submit" value="post送信">
</form>
</html>
上記のコードを貼り付けた htmlのコードを webブラウザーで表示すると下記の様になります。
「post送信」押下の結果は下記の様になります。
GETの場合と大差はないですが、POST用の結果として表示されていることがわかるかと思います。
作成したGithubリポジトリ
今回作成した内容は、下記に格納しておきました。
https://github.com/NagaJun1/test_spring_boot
終わりに
Qiitaを書くのは深夜に限る!
というか、深夜テンションじゃないと書けない。
日中に書くコツを教えてください(笑)