カテゴリ: Kotlin 更新日: 2026/01/06

KotlinでRetrofitを使ったAPI通信の基本構成をマスターしよう!初心者向けにやさしく解説

KotlinでRetrofitを使ったAPI通信の基本構成
KotlinでRetrofitを使ったAPI通信の基本構成

先生と生徒の会話形式で理解しよう

生徒

「先生、KotlinでAPI通信をもっと簡単にする方法ってあるんですか?」

先生

「ありますよ。Retrofitという便利なライブラリを使うと、ネットワーク通信がぐっと簡単になります。」

生徒

「ライブラリってなんですか? そしてRetrofitってどう使うんですか?」

先生

「ライブラリというのは、よく使う機能をまとめた便利セットのことです。Retrofitを使えば、APIとのやり取りがとてもシンプルになるので、一緒に見ていきましょう!」

1. Retrofitってなに?

1. Retrofitってなに?
1. Retrofitってなに?

Retrofit(レトロフィット)は、KotlinやJavaでAPI通信を簡単にするための人気ライブラリです。普通のネットワーク通信は手順が多くて大変ですが、Retrofitを使うと数行のコードでAPIリクエストができます。

つまり、面倒な作業を代わりにやってくれる「便利屋さん」みたいな存在です。

2. ライブラリって何?どうやって使うの?

2. ライブラリって何?どうやって使うの?
2. ライブラリって何?どうやって使うの?

ライブラリとは、よく使う機能がまとめられた「道具箱」のようなものです。Kotlinのプロジェクトで使うには、Gradleというビルドツールに設定を追加します。

たとえば、Retrofitを使うには以下のような記述をbuild.gradle.ktsファイルに追加します。


dependencies {
    implementation("com.squareup.retrofit2:retrofit:2.9.0")
    implementation("com.squareup.retrofit2:converter-gson:2.9.0")
}

3. Retrofitの基本構成を理解しよう

3. Retrofitの基本構成を理解しよう
3. Retrofitの基本構成を理解しよう

RetrofitでAPI通信を行うには、以下の3つのステップを踏みます。

  • ① APIのルールを定義するインターフェースを作成
  • ② 通信の設定をするRetrofitインスタンスを作成
  • ③ 実際に通信を行う

それぞれをわかりやすく分解して説明していきます。

4. APIインターフェースを作成する

4. APIインターフェースを作成する
4. APIインターフェースを作成する

まず、通信のルールを定義するためにインターフェースというものを作成します。ここでは「https://jsonplaceholder.typicode.com/posts/1」というダミーのAPIを使って、記事データを取得してみます。


import retrofit2.Call
import retrofit2.http.GET

interface ApiService {
    @GET("posts/1")
    fun getPost(): Call<Post>
}

5. データクラスを作成しよう

5. データクラスを作成しよう
5. データクラスを作成しよう

APIから返ってくるデータを受け取るためには、Kotlinのdata classを使います。JSONという形式で届くデータに合わせて、クラスを用意しておきましょう。


data class Post(
    val userId: Int,
    val id: Int,
    val title: String,
    val body: String
)

6. Retrofitインスタンスを作成する

6. Retrofitインスタンスを作成する
6. Retrofitインスタンスを作成する

次に、実際に通信するためのRetrofit本体を作ります。ベースとなるURLや、データの形式(Gson)を指定します。


import retrofit2.Retrofit
import retrofit2.converter.gson.GsonConverterFactory

val retrofit = Retrofit.Builder()
    .baseUrl("https://jsonplaceholder.typicode.com/")
    .addConverterFactory(GsonConverterFactory.create())
    .build()

val service = retrofit.create(ApiService::class.java)

7. 通信を実行して結果を取得する

7. 通信を実行して結果を取得する
7. 通信を実行して結果を取得する

最後に、通信を実行してAPIからデータを取得します。ここでは、シンプルに同期的な通信方法(enqueueを使わない)を紹介します。


val response = service.getPost().execute()
if (response.isSuccessful) {
    val post = response.body()
    println("タイトル: ${post?.title}")
    println("内容: ${post?.body}")
} else {
    println("エラーが発生しました。コード: ${response.code()}")
}

8. 実行結果のイメージ

8. 実行結果のイメージ
8. 実行結果のイメージ

このコードを実行すると、APIから取得した記事のタイトルと内容が表示されます。


タイトル: sunt aut facere repellat provident occaecati
内容: quia et suscipit...

9. Retrofitを使うメリット

9. Retrofitを使うメリット
9. Retrofitを使うメリット

Retrofitを使うことで、KotlinでのAPI通信が非常に簡単になります。通信のエラー処理や、データの変換も自動でやってくれるので、初心者にも優しい設計になっています。

特に、インターフェースに注釈(アノテーション)をつけるだけでHTTPの種類(GETやPOSTなど)を指定できる点が便利です。

10. 注意点:ネットワーク通信は時間がかかる

10. 注意点:ネットワーク通信は時間がかかる
10. 注意点:ネットワーク通信は時間がかかる

ネットワーク通信は、相手のサーバーからの応答を待つ必要があるため、時間がかかる場合があります。そのため、実際のアプリでは通信処理を別スレッドで行うのが基本です(この部分は今後の学習で扱います)。

関連記事:
カテゴリの一覧へ
新着記事
New1
Go言語
Go言語とは何か?初心者向けに特徴・できること・インストール手順までやさしく解説
New2
Kotlin
Kotlinのコーディング規約(公式スタイルガイド)とは?読みやすいコードを書くための基本ルール
New3
Kotlin
Kotlinの関数型を整理するパッケージ・ファイル構造の例を初心者向けにやさしく解説!
New4
Swift
Swiftデータ型まとめ|String・Int・Bool・Arrayの基本を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
No.4
Java&Spring記事人気No4
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
No.5
Java&Spring記事人気No5
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.6
Java&Spring記事人気No6
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.7
Java&Spring記事人気No7
Kotlin
Kotlinのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.8
Java&Spring記事人気No8
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!