【学び】Spring Boot ~アノテーション~

はじめに


職場でJavaを研修で学び、Spring Bootは使用せず、現在Javaの講師としてオブジェクト指向等に基礎を教えているが、「Spring Bootが使えないレベルでいたくない」「レベルアップしたい」という思いから勉強を開始 !!
後から見返す用のメモ程度にSpring Bootを使用する際の注意点や学びをまとめていこうと思う。
この記事が他のJavaを使い始めた方々にも役に立てれば嬉しいです。

アノテーションとは


「@」:アノテーションとよぶ。日本語で「注釈」という意味。
   → プログラムに関する補足情報を提供する

@Controller

…このクラスが、コントローラーであることを示す

@Controller
public class HelloController {

@RequestMapping

…HTTPリクエストを受け付ける

@RequestMapping("/")
public 戻り値 メソッド名() {
    // hello.htmlを呼び出す
    return "hello";
}

上のコードの場合、引数にルート("/")を指定したため、http://localhost :8080/ でアクセス可能。
return の文字列には、"hello" を記述することで、hello.html を呼び出せる。

  • GETやPOSTなどの集合体で、5種類のリクエスト(GET、POST、DELETE、PATCH)を受け取ることができる

  • クラスレベルとメソッドレベルの両方で使用できる

@Controller
@RequestMapping("/top")    // クラスレベル
pubic class HomeCotroller {
    
    @RequestMapping("/greeting")    // メソッドレベル
    public String greeting() {
  • 上記のような記載の場合、http://localhost:8080/top/greetingでアクセスできる
    ※ ただし、メソッドレベルでは「@GetMapping」や「@PostMapping」などの使用が好まれる

@RequestParam

…リクエスト値(パラメータ)を取得する

  • デフォルトが必須(requierd = true)となっているため、値がないとエラーとなる。
    ※ 任意(required = false)にすると、パラメータなしで実行できる

  • 取得した値をThymeleafに渡すには、Model へ追加する。
    これには、Modelクラスの addAttribute("名前", 値)を使用。

// ModelクラスのaddAttribute("名前", 値)を使用する
model/addAttribute("sample", message);
  • RequestParam()の引数は、name=名前となる

// 1
@RequestParam("message") String message
// 2
@RequestParam(name="message") String message
// 3(valueは昔の書き方)
@RequestParam(value="message") String message
  • 変数は同一の場合、省略できる。以下の2つは同じ動作をする。

@RequestParam("message") String message
@RequestParam String message
  • デフォルト値の設定もできる。

@RequestParam(defaultVale="Hi!") String message

※ デフォルト値を設定した場合は、暗黙的に requirede=false が設定される

@PostMapping

…HTTPのPOSTリクエストを受け付ける
パスの指定方法は、"/confirm"など@GetMappingと同じ

この記事が気に入ったらサポートをしてみませんか?