Kotlinx-Serialization

The kotlinx-serialization extension package for Fuel.

Installation

You can download and install fuel-kotlinx-serialization with Maven and Gradle. The kotlinx-serialization package has the following dependencies:

implementation 'com.github.kittinunf.fuel:fuel:<latest-version>'
implementation 'com.github.kittinunf.fuel:fuel-kotlinx-serialization:<latest-version>'

Usage

@Serializable
data class HttpBinUserAgentModel(var userAgent: String = "")

Fuel.get("/user-agent")
    .responseObject<HttpBinUserAgentModel> { _, _, result -> }

This is by default strict and will reject unknown keys, for that you can pass a custom Json instance Json(strictMode = false) or use a built-in alternate like Json.nonstrict

@Serializable
data class HttpBinUserAgentModel(var userAgent: String = "")

Fuel.get("/user-agent")
    .responseObject<HttpBinUserAgentModel>(json = Json.nonstrict) { _, _, result -> }

kotlinx.serialization can not always guess the correct serialzer to use, when generics are involved for example

It can be used with coroutines by using kotlinxDeserializerOf() it takes the same json and loader as parameters

Last updated

Was this helpful?