カテゴリ: 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でチェックするのが基本です。

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

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

※ Amazon広告リンク

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

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

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

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

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

関連セミナーのご案内

【未経験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
Kotlin
Kotlinのsettings.gradleファイルを完全解説!初心者でもわかるプロジェクト設定の基本
No.3
Java&Spring記事人気No3
Go言語
Go言語でREST APIを作る設計と実装パターン完全ガイド!初心者でもわかるAPI開発
No.4
Java&Spring記事人気No4
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.5
Java&Spring記事人気No5
Go言語
Swiftの配列(Array)の使い方を完全ガイド!初心者でもわかるデータのまとめ方
No.6
Java&Spring記事人気No6
Go言語
Go言語のgo installコマンドの役割とインストール先の仕組みを徹底解説!
No.7
Java&Spring記事人気No7
Go言語
Go言語のトランザクション処理を完全解説!Begin・Commit・Rollbackを初心者向けにやさしく理解
No.8
Java&Spring記事人気No8
Go言語
Swiftの変数と定数の使い方を完全ガイド!初心者でもわかる基本文法