LoginSignup
11
7

More than 5 years have passed since last update.

HTTPクライアントライブラリFuelを初めて使ってみた

Last updated at Posted at 2017-09-02

Fuelとは?

Kotlin/Andorid用のHTTPクライアントライブラリです。
https://github.com/kittinunf/Fuel

簡単なコードでHTTP通信を行うことができます。KotlinでAndroidアプリを作成するときに活躍してくれそうです。
RxJava2に対応したAPIも提供しています。

導入方法

build.gradleに記述してSyncすればOK。

build.gradle
dependencies {
    compile 'com.github.kittinunf.fuel:fuel:1.9.0'
    compile 'com.github.kittinunf.fuel:fuel-android:1.9.0'
}

使い方

GETリクエストの例です。郵便番号検索apiに対してGETしてみます。
http://zipcloud.ibsnet.co.jp/doc/api/search?zipcode={郵便番号}
郵便番号783060の住所を検索する場合
http://zipcloud.ibsnet.co.jp/api/search?zipcode=7830060
となります。

リクエストパラメータはPairのListで渡します。

fun get() {
        "http://zipcloud.ibsnet.co.jp/api/search".httpGet(listOf("zipcode" to "7830060")).responseJson { request, response, result ->
            when (result) {
                // ステータスコード 2xx
                is Result.Success -> {
                    val json = result.value.obj()
                    val results =json.get("results") as JSONArray
                    val data1 = results[0] as JSONObject
                    Log.d(TAG, data1["address1"]) // 高知県
                }
                // ステータスコード 2xx以外
                is Result.Failure -> {
                    // エラー処理
                }
            }
        }
    }

少ないコード量ですむのでよいと思います。実際にはレスポンスに対する処理はコールバックを
渡すようになると思います。

Rx Java対応のメソッドを試してた結果は次の記事に書きました。
HTTPクライアントライブラリFuelを初めて使ってみた2 RXJava編

11
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
7