Como escrever uma REST API em Kotlin em 30 minutos: na prática

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Como escrever uma REST API em Kotlin em 30 minutos: na prática

Kotlin é uma linguagem de programação moderna que está ganhando popularidade rapidamente no desenvolvimento backend. Graças à sua sintaxe concisa, compatibilidade total com Java e ferramentas poderosas, como o framework Ktor, criar uma REST API se torna um processo rápido e agradável. Neste artigo, mostraremos na prática como escrever uma REST API simples, mas completa, em Kotlin em literalmente meia hora. Você aprenderá como configurar o projeto, criar endpoints, processar JSON e iniciar o servidor.

O artigo é destinado a desenvolvedores familiarizados com os fundamentos do Kotlin, mas não requer conhecimento profundo de desenvolvimento backend. Todo o código será acompanhado de explicações detalhadas.



1. Configuração do projeto e adição de dependências

Para começar, precisaremos criar um novo projeto Kotlin. Usaremos o Gradle — o sistema de build mais popular para Kotlin. Se você estiver usando o IntelliJ IDEA, selecione "New Project" -> "Kotlin" -> "JVM | IDEA". Caso contrário, crie a pasta do projeto manualmente.

Primeiro, abra o arquivo build.gradle.kts e adicione as seguintes dependências para Ktor e serialização JSON:

plugins {    kotlin("jvm") version "1.9.22"    kotlin("plugin.serialization") version "1.9.22"    application}

repositories { mavenCentral()}

dependencies { implementation("io.ktor:ktor-server-core:2.3.7") implementation("io.ktor:ktor-server-netty:2.3.7") implementation("io.ktor:ktor-server-content-negotiation:2.3.7") implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.7") implementation("ch.qos.logback:logback-classic:1.4.14")}

application { mainClass.set("ApplicationKt")}

Após a sincronização do Gradle, estamos prontos para escrever o código. Observe que estamos usando o plugin kotlinx.serialization para trabalhar com JSON — esta é a forma padrão em Kotlin.



2. Criação do modelo de dados e do arquivo principal do servidor

Para a REST API, precisamos de um modelo de dados. Vamos usar uma lista simples de tarefas (ToDo). Crie o arquivo Todo.kt:

import kotlinx.serialization.Serializable

@Serializabledata class Todo( val id: Int, val title: String, val completed: Boolean = false)

Agora, vamos criar o arquivo principal Application.kt (ou Main.kt). Nele, configuraremos o servidor e o iniciaremos:

import io.ktor.server.engine.*import io.ktor.server.netty.*import io.ktor.server.application.*import io.ktor.server.routing.*import io.ktor.server.response.*import io.ktor.server.request.*import io.ktor.serialization.kotlinx.json.*import io.ktor.server.plugins.contentnegotiation.*

fun main() { embeddedServer(Netty, port = 8080, host = "0.0.0.0") { configureSerialization() configureRouting() }.start(wait = true)}

fun Application.configureSerialization() { install(ContentNegotiation) { json() }}

fun Application.configureRouting() { routing { get("/") { call.respondText("Hello, REST API on Kotlin!") } }}

Este código inicia o servidor na porta 8080. Conectamos o módulo ContentNegotiation para serialização/desserialização automática de JSON. Execute a aplicação — você deve ver uma mensagem de boas-vindas no navegador no endereço http://localhost:8080.



3. Implementação dos endpoints CRUD (Create, Read, Update, Delete)

Agora, vamos adicionar rotas REST completas para gerenciar as tarefas. Usaremos uma lista mutableListOf para armazenar os dados em memória (em um projeto real, você a substituiria por um banco de dados).

Vamos criar o arquivo TodoRepository.kt:

import kotlinx.coroutines.sync.Muteximport kotlinx.coroutines.sync.withLock

class TodoRepositor

Blogs

Book Recommendations