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編