30 मिनट में Kotlin पर REST API कैसे लिखें: चरण-दर-चरण मार्गदर्शिका

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

परिचय

Kotlin एक आधुनिक, संक्षिप्त और सुरक्षित प्रोग्रामिंग भाषा है जो सर्वर साइड एप्लिकेशन डेवलपमेंट में लोकप्रियता प्राप्त कर रही है। Java के साथ इसकी अनुकूलता और Ktor जैसे शक्तिशाली फ्रेमवर्क के कारण, आप सचमुच आधे घंटे में एक पूर्ण REST API बना सकते हैं। इस लेख में, हम दिखाएंगे कि Ktor फ्रेमवर्क का उपयोग करके Kotlin पर REST API कैसे लिखें, भले ही आप नौसिखिए हों।

हम CRUD संचालन के समर्थन के साथ कार्य सूची प्रबंधन (Todo API) के लिए एक सरल एप्लिकेशन बनाएंगे: निर्माण, पढ़ना, अद्यतन और हटाना। यदि आप निर्देशों का पालन करते हैं तो पूरी प्रक्रिया में 30 मिनट से अधिक नहीं लगेगा।



1. प्रोजेक्ट और निर्भरताएँ तैयार करना

शुरू करने के लिए, आपको IntelliJ IDEA (Community Edition) और Gradle की आवश्यकता होगी। आइए Ktor समर्थन के साथ एक नया Kotlin प्रोजेक्ट बनाएं।



चरण 1: Gradle प्रोजेक्ट बनाना

IntelliJ IDEA खोलें और एक नया प्रोजेक्ट बनाएं: File → New → Project। Gradle चुनें और भाषा Kotlin निर्दिष्ट करें। Finish पर क्लिक करें।



चरण 2: Ktor निर्भरताएँ जोड़ना

build.gradle.kts फ़ाइल खोलें और निम्नलिखित निर्भरताएँ जोड़ें:



plugins {    kotlin("jvm") version "1.9.0"    application}

repositories { mavenCentral()}

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("ch.qos.logback:logback-classic:1.4.11")}

application { mainClass.set("ApplicationKt")}


निर्भरताएँ लोड करने के लिए ऊपरी दाएं कोने में Sync Now बटन दबाएं।



2. डेटा मॉडल और सेवा बनाना

रूट लिखने से पहले, हम अपने कार्य के लिए डेटा मॉडल और मेमोरी में डेटा संग्रहीत करने के लिए एक सरल सेवा परिभाषित करेंगे।



TodoItem मॉडल

src/main/kotlin फ़ोल्डर में TodoItem.kt फ़ाइल बनाएं:



import kotlinx.serialization.Serializable

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


TodoService सेवा

TodoService.kt फ़ाइल बनाएं:



import java.util.concurrent.atomic.AtomicInteger

class TodoService { private val items = mutableListOf<TodoItem>() private val idCounter = AtomicInteger(1)

fun getAll(): List<TodoItem> = items.toList()

fun getById(id: Int): TodoItem? = items.find { it.id == id }

fun create(title: String): TodoItem { val newItem = TodoItem(id = idCounter.getAndIncrement(), title = title) items.add(newItem) return newItem }

fun update(id: Int, title: String?, completed: Boolean?): TodoItem? { val index = items.indexOfFirst { it.id == id } if (index == -1) return null val current = items[index] val updated = current.copy( title = title ?: current.title, completed = completed ?: current.completed ) items[index] = updated return updated }

fun delete(id: Int): Boolean = items.removeAll { it.id == id }}


3. सर्वर और रूट कॉन्फ़िगर करना

अब मुख्य एप्लिकेशन फ़ाइल Application.kt बनाएं और REST API रूट लिखें।



import io.ktor.server.application.*import io.ktor.server.engine.*import io.ktor.server.netty.*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

ब्लॉग

पुस्तक अनुशंसाएँ