Controller
目次
基本構文
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello() {
return "Hello, Spring Boot!";
}
}
@Controller:ControllerクラスであることをSpringに明示する
@GetMapping("/hello"):GET /helloにアクセスされたときに実行される
@ResponseBody:戻り値をHTMLではなくそのまま文字列として返す(API向け)
画面を返す場合
- HTMLテンプレートを使う場合、
@ResponceBodyを外し、resource/templates/配下に.htmlファイルを配置する
@Controller
public class PageController {
@GetMapping("/home")
public String home() {
return "home"; // → templates/home.html を探して返す
}
}
/homeにアクセスすると、Thymeleafがテンプレートを解釈してHTMLを返す
典型シグネチャ集
@GetMapping("/user")
public String user(Model model)
@PostMapping("/user/register")
public String register(
@Valid UserForm form,
BindingResult result,
Model model
)
@PostMapping("/api/users")
public ResponseEntity<User> create(
@RequestBody UserForm form
)
→ 次:View / テンプレートエンジン(Thymeleaf)