KotlinでAPIにヘッダーやクエリパラメータを設定する方法をやさしく解説!初心者向けネットワーク通信ガイド
生徒
「KotlinでWebのAPIにアクセスする方法ってありますか?」
先生
「ありますよ。Kotlinでは、インターネット上のAPIとやり取りするための方法がいくつかあります。特に、ヘッダーやクエリパラメータを使うと、もっと便利になりますよ。」
生徒
「ヘッダーとかクエリパラメータって、何ですか?」
先生
「とてもいい質問ですね。難しそうに見えるけど、実はわかりやすく説明できるんですよ。さっそく見ていきましょう!」
1. APIリクエストとは?
API(エーピーアイ)とは、アプリやプログラムがインターネットを通じて、他のサービスとやり取りするための「約束事」です。例えば、天気予報を表示するアプリでは、天気APIから情報を取得します。
このとき、APIに情報をリクエスト(お願い)する必要があります。これを「APIリクエスト」と呼びます。
2. ヘッダーとクエリパラメータとは?
APIにリクエストを送るとき、「ヘッダー」や「クエリパラメータ」といった情報を一緒に渡すことがあります。
- ヘッダー:手紙でいうと「封筒の外側の宛名」みたいなもの。誰が送っているか、どんな形式かなどを伝えます。
- クエリパラメータ:URLの後ろに「?」で付ける情報です。例えば「?id=123&name=tanaka」のように、欲しいデータを指定できます。
3. KotlinでHTTPリクエストを送るライブラリ「OkHttp」とは?
KotlinでAPI通信をするために使われる人気のライブラリがOkHttp(オーケーエイチティーティーピー)です。
これは、簡単にネットワークリクエストを送れるツールで、初心者にもわかりやすいコードで書けるのが特長です。
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. 具体的な使い道とよくある用途
ヘッダーやクエリパラメータは、次のような場面でよく使われます。
- ログインしている人の情報を送るとき(ヘッダーでトークンを送る)
- 検索やフィルター条件を指定したいとき(クエリパラメータ)
- 言語や地域設定を伝えるとき
つまり、APIをより柔軟に使うために欠かせない仕組みなのです。
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. 実行結果のイメージ
実行すると、以下のような結果が表示されます。
HTTPステータスコード: 200
レスポンス本文: {"message":"データを取得しました","data":[...]}
8. APIの通信エラー時の注意点
APIと通信する際、ネットワークの問題や認証エラーが起こることがあります。そのため、try-catchで例外処理を書くとより安全です。
また、ステータスコードが401(未認証)や404(見つからない)などの場合もあるため、必ずresponse.codeでチェックするのが基本です。
Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。
基礎からわかるKotlinをAmazonで見る※ Amazon広告リンク
9. ヘッダーとクエリパラメータを活用してAPIを使いこなそう!
今回は、KotlinでAPIリクエストを送る方法、そしてヘッダーやクエリパラメータの使い方について学びました。
ネットワークを通じたAPI連携は、天気情報の取得、ユーザー情報の送信、ニュース一覧の表示など、さまざまなアプリ開発に欠かせない技術です。
最初は難しく感じるかもしれませんが、ひとつひとつ覚えていけば、しっかり使いこなせるようになりますよ。
【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分
「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。
本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。
具体的な体験内容と環境
【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。
【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。
この60分で得られる3つの体験
プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。
「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。
Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。
※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。
Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験