「Spring Boot」@RestControllerでクラスのインスタンスを返すサンプル
環境
Windows10 64bit
Spring Boot 2.6.2
Spring Tool Suite 4
JDK 11
アノテーション@RestController
REST コントローラーに設定します。このアノテーションが設定されると、クラスが DI コンテナへの登録対象としてマークされます。
@Controller および @ResponseBody でアノテーションが付けられている便利なアノテーション。
このアノテーションを保持する型は、@RequestMapping メソッドがデフォルトで @ResponseBody セマンティクスを想定するコントローラーとして扱われます。
書式
@GetMapping(“/パス名")
public クラス名 関数名() {
//クラスのインスタンス生成
クラス名 インスタンス名 = new クラス名();
処理コード
//インスタンスを返す
return インスタンス名;
}
使用例
1.クラスの定義
package com.example.demo; public class User { // 年齢age private int age; // 名前username private String username; // 住所addr private String addr; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } }
2.コントローラクラス(UserController.java)の定義
package com.example.demo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class UserController { @GetMapping("/user") public User funA() { //クラスのインスタンス生成 User user = new User(); //クラスのメソッドを呼び出して、データをセットします user.setAge(32); user.setUsername("山田 太郎"); user.setAddr("東京新宿区"); //インスタンスを返す return user; } }
3.プログラム実行
プロジェクトを右クリックして、「実行(R)」->「Spring Boot アノテーション」をクリックします
画面確認
ブラウザ画面で「http://127.0.0.1:8080/user」にアクセスすると、画面に以下の結果が表示されます
{“age":32,"username":"山田 太郎","addr":"東京新宿区"}