So schreiben Sie eine REST API in Kotlin in 30 Minuten: für Anfänger

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einleitung

Kotlin ist eine moderne, statisch typisierte Programmiersprache, die auf der Java Virtual Machine (JVM) läuft und vollständig mit dem Java-Ökosystem kompatibel ist. Dank seiner Prägnanz, Sicherheit und leistungsstarken funktionalen Möglichkeiten ist Kotlin zu einer der beliebtesten Sprachen für die Entwicklung von Serveranwendungen geworden, insbesondere nachdem Google es als Hauptsprache für Android ausgewählt hat.

In diesem Artikel erstellen wir eine vollwertige REST API in Kotlin unter Verwendung des leichtgewichtigen Frameworks Ktor und der Bibliothek für die Datenbankarbeit Exposed. Wir implementieren einen einfachen Service zur Aufgabenverwaltung (To-Do-Liste) mit Unterstützung aller CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen). Der gesamte Prozess wird nicht länger als 30 Minuten dauern, wenn Sie IntelliJ IDEA und JDK bereits installiert haben.



1. Projekteinrichtung

Zunächst erstellen wir ein neues Kotlin-Projekt mit Gradle-Unterstützung. Öffnen Sie IntelliJ IDEA und wählen Sie File → New → Project. Wählen Sie im Projektassistenten Kotlin → JVM.

Schritt 1.1: Struktur von build.gradle.kts

Fügen Sie die folgenden Abhängigkeiten in die Datei build.gradle.kts ein:

plugins {    kotlin("jvm") version "1.9.0"    id("io.ktor.plugin") version "2.3.0"    kotlin("plugin.serialization") version "1.9.0"}

dependencies { implementation("io.ktor:ktor-server-core:2.3.0") implementation("io.ktor:ktor-server-netty:2.3.0") implementation("io.ktor:ktor-server-content-negotiation:2.3.0") implementation("io.ktor:ktor-serialization-kotlinx-json:2.3.0") implementation("org.jetbrains.exposed:exposed-core:0.41.1") implementation("org.jetbrains.exposed:exposed-dao:0.41.1") implementation("org.jetbrains.exposed:exposed-jdbc:0.41.1") implementation("com.h2database:h2:2.1.214") implementation("ch.qos.logback:logback-classic:1.4.7")}

Diese Abhängigkeiten umfassen: das Ktor-Framework selbst, Unterstützung für JSON-Serialisierung, die Exposed-Bibliothek für die Datenbankarbeit und die eingebettete H2-Datenbank zum Testen.



Schritt 1.2: Einstiegspunkt

Erstellen Sie die Datei Application.kt im Paket com.example:

import io.ktor.server.engine.*import io.ktor.server.netty.*import com.example.plugins.*

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


2. Einrichtung von Serialisierung und Routing

Schritt 2.1: Anwendungs-Plugins

Erstellen Sie ein Verzeichnis plugins und die Datei Serialization.kt:

package com.example.plugins

import io.ktor.serialization.kotlinx.json.*import io.ktor.server.application.*import io.ktor.server.plugins.contentnegotiation.*

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


Schritt 2.2: Definition des Datenmodells

Erstellen Sie die Datei Models.kt:

package com.example.models

import kotlinx.serialization.Serializable

@Serializabledata class Task( val id: Int = 0, val title: String, val description: String = "", val completed: Boolean = false)


3. Arbeiten mit der Datenbank

Schritt 3.1: Einrichtung der Verbindung

Erstellen Sie die Datei DatabaseFactory.kt:

package com.example.database

import org.jetbrains.exposed.sql.Databaseimport org.jetbrains.exposed.sql.SchemaUtilsimport org.jetbrains.exposed.sql.transactions.transaction

object DatabaseFactory { fun init() { Database.connect("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1", driver = "org.h2.Driver") transaction { SchemaUtils.create(TasksTable) } }}


Schritt 3.2: Definition der Tabelle

Erstellen Sie im selben Paket die Datei TasksTable.kt:

package co                

Blogs

Buchempfehlungen