カテゴリ: 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など)を指定できる点が便利です。

Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。

基礎からわかるKotlinをAmazonで見る

※ Amazon広告リンク

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

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

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

関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

関連記事:
カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のスコープとは?ローカル変数・グローバル変数の違いと使い分け
New2
Go言語
Go言語の構文ルールまとめ!インデント・セミコロンなど最初に知っておくポイント
New3
Kotlin
KotlinのwithTimeoutでタイムアウト処理を設定しよう!初心者にもわかる非同期の安全な止め方
New4
Go言語
Go言語のマップの順序保証がない理由と扱い方の工夫をやさしく解説!初心者でもわかる基本知識
人気記事
No.1
Java&Spring記事人気No1
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Go言語
Swiftの配列(Array)の使い方を完全ガイド!初心者でもわかるデータのまとめ方
No.3
Java&Spring記事人気No3
Kotlin
Kotlinのsettings.gradleファイルを完全解説!初心者でもわかるプロジェクト設定の基本
No.4
Java&Spring記事人気No4
Go言語
Go言語でREST APIを作る設計と実装パターン完全ガイド!初心者でもわかるAPI開発
No.5
Java&Spring記事人気No5
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.6
Java&Spring記事人気No6
Go言語
Go言語のSQLインジェクション対策を完全解説!初心者でも安全なデータベース操作がわかる
No.7
Java&Spring記事人気No7
Go言語
Go言語のトランザクション処理を完全解説!Begin・Commit・Rollbackを初心者向けにやさしく理解
No.8
Java&Spring記事人気No8
Go言語
Swiftの変数と定数の使い方を完全ガイド!初心者でもわかる基本文法