LoginSignup
0

More than 3 years have passed since last update.

posted at

updated at

kotlinの通信ライブラリFuelとgson連携

Fuel

通信処理

// 非同期で実行
Fuel.get("url").responseObject(Foo.Deserializer()) { request, response, result ->
    val (data, error) = result
    error?.let {
        print(it.message)
    }
    data?.let {
        // 成功時の処理
    }
}

レスポンス


data class Foo(
        var bar: String
) {
  class Deserializer : ResponseDeserializable<List<Foo>> {
       override fun deserialize(content: String): <List<Foo>>? {
          // snake_caseから変換
          val gson = GsonBuilder().setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES).create()
          return gson.fromJson(content, List<Foo>::class.java)
       }
   }

}

参考

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
What you can do with signing up
0