Kotlin × Spring Boot で JSON を返す API を作成してみた!

こんにちは、白々さじきです!

前回の記事では、Kotlin × Spring Boot を使って REST API を構築 しました。
ただ、現状の API は 単純な文字列を返すだけ でした。

そこで今回は、Kotlin のデータクラスを活用し、JSON を返す API を実装 してみます!

それでは、やっていきましょう!

🔗 今回の実装リポジトリ:
GitHub リポジトリ

🔗 今回の記事を参考にしたチュートリアル:

Kotlinのデータクラスを追加

1. データクラスの作成

まず、データクラス(Message.kt)を作成 します!

1.1. 新しい Kotlin クラスの作成

com.example.demo のフォルダを 右クリック新規 を選択し、
Kotlin データクラス を作成します。

📌 作成するクラス名: Message.kt

1.2. データクラスのコードを追加

package com.example.demo

data class Message(val id: String?, val text: String)

解説:

  • data class … データを保持するための特別なクラス
  • val id: String?id(文字列・null 許容)
  • val text: Stringtext(文字列・必須)

これで、API で扱うメッセージデータのモデル が完成しました! 🎉

2. コントローラーを修正

次に、前回の記事で作成した MessageController.kt を修正 します!

📌 修正後のコード:

@RequestMapping("/")
class MessageController {
@GetMapping
fun listMessages() = listOf(
Message("1", "Hello!"),
Message("2", "Bonjour!"),
Message("3", "Privet!"),
)
}

2.1. コードの解説

@RequestMapping("/") とは?

このアノテーションをクラスにつけることで、
すべてのメソッドのエンドポイントが / から始まる ようになります。

例:

  • @GetMappinghttp://localhost:8080/

@GetMapping とは?

このメソッドが HTTP の GET リクエストを処理する ことを示します。
今回は listMessages() を実行すると、メッセージのリストを JSON 形式で返す API になります。

listOf() とは?

これは Kotlin で リスト(配列)を作成するための関数 です。
今回のコードでは、3 つの Message オブジェクトをリスト化 しています。

📌 返されるデータ:

idtext
“1”“Hello”
“2”“Bonjour!”
“3”“Privet!”

3. API の動作確認

3.1. Spring Boot の起動

IntelliJ IDEA の 「Run」ボタン をクリックし、Spring Boot を起動!

3.2. API にアクセス

ブラウザや Postman を使って、
http://localhost:8080/ にアクセス します!

📌 実行結果:

jsonコピーする編集する[
  {
    "id": "1",
    "text": "Hello!"
  },
  {
    "id": "2",
    "text": "Bonjour!"
  },
  {
    "id": "3",
    "text": "Privet!"
  }
]

このように JSON データが正しく表示されていれば成功! 🎉

4. まとめ・感想

今回は、Kotlin のデータクラスを活用して JSON を返す REST API を作成しました!

次回は、データベースとの連携 を行い、保存・取得ができる API を作ってみます!

それでは、また次回!

サポートのお願い

下記リンクからお買い物いただけると、ブログ運営のための費用が増え、有料サービスを利用した記事作成が可能になります。ご協力よろしくお願いします!

コメント

タイトルとURLをコピーしました