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

KotlinでAPIにヘッダーやクエリパラメータを設定する方法をやさしく解説!初心者向けネットワーク通信ガイド

KotlinのAPIリクエストでヘッダーやクエリパラメータを設定する方法
KotlinのAPIリクエストでヘッダーやクエリパラメータを設定する方法

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

生徒

「KotlinでWebのAPIにアクセスする方法ってありますか?」

先生

「ありますよ。Kotlinでは、インターネット上のAPIとやり取りするための方法がいくつかあります。特に、ヘッダーやクエリパラメータを使うと、もっと便利になりますよ。」

生徒

「ヘッダーとかクエリパラメータって、何ですか?」

先生

「とてもいい質問ですね。難しそうに見えるけど、実はわかりやすく説明できるんですよ。さっそく見ていきましょう!」

1. APIリクエストとは?

1. APIリクエストとは?
1. APIリクエストとは?

API(エーピーアイ)とは、アプリやプログラムがインターネットを通じて、他のサービスとやり取りするための「約束事」です。例えば、天気予報を表示するアプリでは、天気APIから情報を取得します。

このとき、APIに情報をリクエスト(お願い)する必要があります。これを「APIリクエスト」と呼びます。

2. ヘッダーとクエリパラメータとは?

2. ヘッダーとクエリパラメータとは?
2. ヘッダーとクエリパラメータとは?

APIにリクエストを送るとき、「ヘッダー」や「クエリパラメータ」といった情報を一緒に渡すことがあります。

  • ヘッダー:手紙でいうと「封筒の外側の宛名」みたいなもの。誰が送っているか、どんな形式かなどを伝えます。
  • クエリパラメータ:URLの後ろに「?」で付ける情報です。例えば「?id=123&name=tanaka」のように、欲しいデータを指定できます。

3. KotlinでHTTPリクエストを送るライブラリ「OkHttp」とは?

3. KotlinでHTTPリクエストを送るライブラリ「OkHttp」とは?
3. KotlinでHTTPリクエストを送るライブラリ「OkHttp」とは?

KotlinでAPI通信をするために使われる人気のライブラリがOkHttp(オーケーエイチティーティーピー)です。

これは、簡単にネットワークリクエストを送れるツールで、初心者にもわかりやすいコードで書けるのが特長です。

4. ヘッダーやクエリパラメータを使ったサンプルコード

4. ヘッダーやクエリパラメータを使ったサンプルコード
4. ヘッダーやクエリパラメータを使ったサンプルコード

それでは、実際にKotlinでAPIにアクセスし、ヘッダーとクエリパラメータを設定してみましょう。


import okhttp3.OkHttpClient
import okhttp3.Request

fun main() {
    val client = OkHttpClient()

    // クエリパラメータ付きのURL
    val url = "https://api.example.com/data?userId=123&lang=ja"

    // リクエストの作成(ヘッダーも追加)
    val request = Request.Builder()
        .url(url)
        .addHeader("Authorization", "Bearer your_token_here")
        .addHeader("Accept", "application/json")
        .build()

    // リクエストを送信
    client.newCall(request).execute().use { response ->
        println("HTTPステータスコード: ${'$'}{response.code}")
        println("レスポンス本文: ${'$'}{response.body?.string()}")
    }
}

このコードでは、URLに「userId」と「lang」というクエリパラメータを付けています。また、「Authorization」や「Accept」といったヘッダーも設定しています。

5. 具体的な使い道とよくある用途

5. 具体的な使い道とよくある用途
5. 具体的な使い道とよくある用途

ヘッダーやクエリパラメータは、次のような場面でよく使われます。

  • ログインしている人の情報を送るとき(ヘッダーでトークンを送る)
  • 検索やフィルター条件を指定したいとき(クエリパラメータ)
  • 言語や地域設定を伝えるとき

つまり、APIをより柔軟に使うために欠かせない仕組みなのです。

6. クエリパラメータの組み立て方の工夫

6. クエリパラメータの組み立て方の工夫
6. クエリパラメータの組み立て方の工夫

URLの文字列にクエリパラメータを自分で追加するのが難しい場合は、次のようにHttpUrl.Builderを使う方法もあります。


import okhttp3.HttpUrl
import okhttp3.OkHttpClient
import okhttp3.Request

fun main() {
    val client = OkHttpClient()

    // HttpUrlを使って安全にURLを構築
    val url = HttpUrl.Builder()
        .scheme("https")
        .host("api.example.com")
        .addPathSegment("data")
        .addQueryParameter("userId", "123")
        .addQueryParameter("lang", "ja")
        .build()

    val request = Request.Builder()
        .url(url)
        .addHeader("Authorization", "Bearer your_token_here")
        .addHeader("Accept", "application/json")
        .build()

    client.newCall(request).execute().use { response ->
        println("HTTPステータスコード: ${'$'}{response.code}")
        println("レスポンス本文: ${'$'}{response.body?.string()}")
    }
}

この方法だと、パラメータの追加ミスや記号のエスケープ(特殊文字の処理)も自動でやってくれるので安心です。

7. 実行結果のイメージ

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

実行すると、以下のような結果が表示されます。


HTTPステータスコード: 200
レスポンス本文: {"message":"データを取得しました","data":[...]}

8. APIの通信エラー時の注意点

8. APIの通信エラー時の注意点
8. APIの通信エラー時の注意点

APIと通信する際、ネットワークの問題や認証エラーが起こることがあります。そのため、try-catchで例外処理を書くとより安全です。

また、ステータスコードが401(未認証)や404(見つからない)などの場合もあるため、必ずresponse.codeでチェックするのが基本です。

9. ヘッダーとクエリパラメータを活用してAPIを使いこなそう!

9. ヘッダーとクエリパラメータを活用してAPIを使いこなそう!
9. ヘッダーとクエリパラメータを活用してAPIを使いこなそう!

今回は、KotlinでAPIリクエストを送る方法、そしてヘッダーやクエリパラメータの使い方について学びました。

ネットワークを通じたAPI連携は、天気情報の取得、ユーザー情報の送信、ニュース一覧の表示など、さまざまなアプリ開発に欠かせない技術です。

最初は難しく感じるかもしれませんが、ひとつひとつ覚えていけば、しっかり使いこなせるようになりますよ。

カテゴリの一覧へ
新着記事
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
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
No.3
Java&Spring記事人気No3
Go言語
Go言語のWebアプリにおけるセキュリティベストプラクティス集
No.4
Java&Spring記事人気No4
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
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
Kotlinのgetter・setterのカスタマイズ方法をわかりやすく解説!初心者向け完全ガイド