0Pricing
Kotlin Multiplatform Academy · Урок

Подключение сериализации к Ktor

Устанавливайте ContentNegotiation для автоматического декодирования

«Подключение сериализации к Ktor» — бесплатный урок Kotlin Multiplatform Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Multiplatform Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Stop Parsing by Hand

You could decode every response manually, but Ktor can wire serialization in so requests and replies become typed automatically.

Meet ContentNegotiation

The ContentNegotiation plugin teaches the HttpClient how to convert request and response bodies to and from your models.

Add the Dependency

First add the Ktor content-negotiation artifact plus the JSON serializer module to commonMain.

implementation("io.ktor:ktor-client-content-negotiation:2.3.12")

Add the JSON Bridge

You also include the ktor-serialization-kotlinx-json module, which connects Ktor to kotlinx.serialization specifically.

implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.12")

Install on the Client

Inside the HttpClient builder you install ContentNegotiation and register the json converter once.

install(ContentNegotiation) { json() }

Configure the Json

The json block accepts a configured Json instance, so you can pass ignoreUnknownKeys and friends right here.

json(Json { ignoreUnknownKeys = true })

Decode Automatically

Now a GET can return your model directly. Ktor reads the body and hands you a typed object with no manual decode call.

val user: User = client.get(url).body()

Encode Request Bodies

The same plugin serializes outgoing data, so you can setBody with a Kotlin object and Ktor writes the JSON for you.

post(url) { setBody(user) }

Set the Content Type

When sending a body, declare contentType as application/json so the server reads it correctly.

contentType(ContentType.Application.Json)

One Setup, Both Apps

Because all of this lives in commonMain, Android and iOS share the identical typed networking with zero duplicate code.

Clean End to End

Ktor plus serialization gives you a tidy pipeline: call an endpoint, get a model, send a model, all type-safe across platforms.

Quick Check

Which Ktor plugin enables automatic JSON decoding of responses?

Recap

Install ContentNegotiation with json() on your HttpClient so Ktor auto-encodes request bodies and decodes responses into typed models on both apps.

Часто задаваемые вопросы

Урок «Подключение сериализации к Ktor» бесплатный?

Да — полный текст урока «Подключение сериализации к Ktor» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Multiplatform Academy, подпишись на CoddyKit PRO. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.

Чему я научусь в уроке «Подключение сериализации к Ktor»?

Устанавливайте ContentNegotiation для автоматического декодирования Ты практикуешь Kotlin Multiplatform Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kotlin Multiplatform Academy?

Предыдущий опыт не требуется. Kotlin Multiplatform Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Подключение сериализации к Ktor»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Kotlin Multiplatform Academy?

Да. Каждый урок Kotlin Multiplatform Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Модели данных @Serializable
  2. @SerialName и пользовательское сопоставление полей
  3. Допускающие null, стандартные и необязательные поля
  4. Подключение сериализации к Ktor
← Назад к Kotlin Multiplatform Academy