Spring Boot のネイティブなやり方でデータを返す方法
Spring Bootでは、@RestControllerアノテーションを使用してレスポンスデータをカプセル化できます。
@RestControllerアノテーションは、このクラスがコントローラーであり、すべてのメソッドはビューではなくデータを返しますことを示します。
メソッドとして、@GetMappingや@PostMappingなどのアノテーションを活用することで、リクエストのURLやHTTPメソッドの指定が可能となります。
メソッドでは、オブジェクト、コレクション、Mapなど直接返却することができ、Spring Bootが自動的にJSON形式のレスポンスデータに変換してくれます。
また、@ResponseBodyアノテーションを使用してメソッドの戻り値をJSON形式に変換する必要があることを示すことができます。このアノテーションは、クラスレベルまたはメソッドレベルで使用できます。
例えば、ユーザー情報を返すコントローラーを定義:
@RestController
public class UserController {
@GetMapping("/user/{id}")
public User getUser(@PathVariable Integer id) {
User user = userService.getUserById(id);
return user;
}
}
上の例で、「/user/{id}」にアクセスすると getUser メソッドが呼び出され、ユーザー情報を返します。
Spring MVC機能を有効にする「spring-boot-starter-web」などの関連依存関係をプロジェクトに追加する必要があります。