0Pricing
Kotlin Multiplatform Academy · Aula

Encapsule a API por trás do repositório

Oculte Ktor e a serialização de quem chama

Encapsule a API por trás do repositório é uma aula grátis de Kotlin Multiplatform Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Multiplatform Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

Now Build the Real Thing

With the interface set, you write a concrete implementation that actually fetches data behind the scenes.

Implement the Interface

Create a class that uses implements the repository interface, promising to fulfill every method it declares.

class UserRepositoryImpl : UserRepository

Inject the Ktor Client

Pass the HttpClient into the constructor instead of creating it inside, so it can be shared and replaced in tests.

class UserRepositoryImpl(private val client: HttpClient) : UserRepository

Hide the Network Call

Inside each method, make the Ktor request and return the result. Callers see clean data, never the request itself.

override suspend fun getUsers() = client.get(url).body<List<User>>()

Keep URLs Inside

Store base URLs and paths within the implementation. The rest of the app stays blissfully unaware of any endpoint.

One Place to Change

If the API path changes, you edit only this class. The interface and every caller stay untouched.

Serialization Stays Hidden

The body call turns JSON into models here, so serialization never leaks out to the UI layer.

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

Same Code, Both Apps

This implementation lives in commonMain, so the same fetching code powers Android and iOS identically.

Swap Without Breaking Callers

Because it satisfies the interface, you can replace it with a caching version later and no caller changes.

Wire It With DI

A dependency injection setup hands callers this implementation through the interface type, keeping things loosely coupled.

single<UserRepository> { UserRepositoryImpl(get()) }

The Full Wrapper

Here is the complete wrapper: it takes a client, hides the request, and returns plain domain models.

class UserRepositoryImpl(
    private val client: HttpClient
) : UserRepository {
    override suspend fun getUsers() =
        client.get("/users").body<List<User>>()
}

Quick Check

What is the main job of the repository implementation?

Recap

The implementation takes an HttpClient, performs the request, and returns domain models, keeping all networking sealed off from callers.

Perguntas Frequentes

A aula “Encapsule a API por trás do repositório” é grátis?

Sim — o texto completo de “Encapsule a API por trás do repositório” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Multiplatform Academy, atualize para CoddyKit PRO. O curso de Kotlin Multiplatform Academy inclui 4 aulas no total.

O que vou aprender em “Encapsule a API por trás do repositório”?

Oculte Ktor e a serialização de quem chama Você pratica Kotlin Multiplatform Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Kotlin Multiplatform Academy?

Nenhuma experiência prévia é necessária. Kotlin Multiplatform Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Encapsule a API por trás do repositório”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Kotlin Multiplatform Academy?

Sim. Cada aula de Kotlin Multiplatform Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Defina uma interface de repositório
  2. Encapsule a API por trás do repositório
  3. Mapeie DTOs para modelos de domínio
  4. Exponha resultados como Flow
← Voltar para Kotlin Multiplatform Academy