
Web開発では、サーバー(Java) はHTMLを返すのではなく、JSONだけを返すという役割を担うことが非常に多いです。今回はこのデータ受け渡しについて、簡単にお伝えします。
目次
データの受け渡しとJSON
Javaで開発を進めていくときのデータの受け渡しについて、実際にコードを記述しながら解説していきます。基本的な流れは以下の通りです。
- データを保持する record を作る
- コントローラーに新しいメソッドを追加する
- アプリを再起動してブラウザで確認する
データを保持する record を作る
package com.example.demo;
// 画面に返すデータの構造を1行で定義(id と name を持つ不変データ)
public record UserResponse(String id, String name) {}前回作成した com.example.demo パッケージの中に、新しく UserResponse.java というファイルを作成します。今回はクラスではなく record として定義します。前回の記事については以下の別記事をご確認ください。
コントローラーに新しいメソッドを追加する
package com.example.demo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam; // 追記
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, Modern Spring Boot 3.x World!";
}
// --- ここから追記 ---
@GetMapping("/user")
public UserResponse getUser(@RequestParam(name = "name", defaultValue = "ゲスト") String name) {
// @RequestParam でURLの「?name=〇〇」という値を受け取ります
// 値が未指定の場合はデフォルトで「ゲスト」になります
// 現代Javaのvarとrecordを使ってデータを作成
var userId = "U" + System.currentTimeMillis() % 1000;
return new UserResponse(userId, name);
}
// --- ここまで追記 ---
}先ほど作った HelloController.java を開き、以下のメソッド (getUser) を追記してください。既存の sayHello メソッドは残したままで大丈夫です。
アプリを再起動してブラウザで確認する

DemoApplication.java を右クリックして [実行] -> [Java アプリケーション] で起動します。

起動後 (http://localhost:8080/user) にアクセスすると、上記の波括弧で囲まれたテキストが表示されます。これがJSON形式のデータです。

URLのうしろに ?name=Tanaka をつけて (http://localhost:8080/user?name=Tanaka) としてアクセスします。Java側が自動的にその文字を受け取り、JSONの中身が上記画像のように変化します。
コメント