30 मिनट में Swift पर REST API कैसे लिखें: व्यावहारिक मार्गदर्शिका

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

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

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

परिचय: Swift केवल मोबाइल ऐप्स के लिए नहीं है

कई डेवलपर्स Swift को केवल iOS और macOS से जोड़ने के आदी हैं। हालांकि, यह भाषा लंबे समय से Apple पारिस्थितिकी तंत्र से बाहर निकल चुकी है। Vapor और Kitura जैसे सर्वर फ्रेमवर्क के आगमन के साथ, Swift बैकएंड बनाने के लिए एक पूर्ण उपकरण बन गया है। इस लेख में हम 30 मिनट में Vapor फ्रेमवर्क का उपयोग करके Swift पर एक पूर्ण REST API लिखेंगे। आप सीखेंगे कि प्रोजेक्ट कैसे सेट करें, एंडपॉइंट कैसे बनाएं, डेटाबेस कैसे कनेक्ट करें और त्रुटियों को कैसे संभालें। तैयार हैं? चलिए शुरू करते हैं!



चरण 1: प्रोजेक्ट की स्थापना और कॉन्फ़िगरेशन

शुरू करने के लिए सुनिश्चित करें कि आपके पास Swift 5.5 या नया संस्करण स्थापित है। संस्करण की जांच करने के लिए कमांड:

swift --version

इसके बाद Vapor Toolbox स्थापित करें — प्रोजेक्ट प्रबंधन के लिए उपयोगिता:

brew install vapor

अब एक नया प्रोजेक्ट बनाएं:

vapor new MyAPI --template=api

यह कमांड एक तैयार API टेम्पलेट के साथ फ़ोल्डर संरचना बनाएगा। प्रोजेक्ट फ़ोल्डर में जाएं और बिल्ड चलाएं:

cd MyAPIvapor build

यदि बिल्ड सफल होता है, तो सर्वर चलाएं:

vapor run

डिफ़ॉल्ट रूप से, सर्वर http://127.0.0.1:8080 पर उपलब्ध होगा। ब्राउज़र खोलें और इस पते पर जाएं — आपको एक स्वागत संदेश दिखना चाहिए।



Vapor प्रोजेक्ट की संरचना

  • Sources/App — एप्लिकेशन कोड वाली मुख्य निर्देशिका
  • Sources/App/Controllers — अनुरोधों को संभालने के लिए कंट्रोलर
  • Sources/App/Models — डेटा मॉडल
  • Sources/App/routes.swift — रूट पंजीकरण के लिए फ़ाइल
  • configure.swift — एप्लिकेशन और डेटाबेस कॉन्फ़िगरेशन


चरण 2: डेटा मॉडल और डेटाबेस बनाएं

उदाहरण के लिए, हम कार्य सूची (Todo) प्रबंधित करने के लिए एक सरल API बनाएंगे। डेटा मॉडल से शुरू करें। Sources/App/Models फ़ोल्डर में Todo.swift फ़ाइल बनाएं:

import Fluentimport Vapor

final class Todo: Model, Content { static let schema = "todos" @ID(key: .id) var id: UUID? @Field(key: "title") var title: String @Field(key: "is_completed") var isCompleted: Bool init() {} init(id: UUID? = nil, title: String, isCompleted: Bool = false) { self.id = id self.title = title self.isCompleted = isCompleted }}

अब तालिका के लिए माइग्रेशन बनाएं। Sources/App/Migrations/CreateTodo.swift फ़ाइल में:

import Fluent

struct CreateTodo: Migration { func prepare(on database: Database) -> EventLoopFuture<Void> { database.schema("todos") .id() .field("title", .string, .required) .field("is_completed", .bool, .required) .create() } func revert(on database: Database) -> EventLoopFuture<Void> { database.schema("todos").delete() }}

configure.swift में माइग्रेशन पंजीकृत करना न भूलें:

app.migrations.add(CreateTodo())

सरलता के लिए, हम SQLite (अंतर्निहित डेटाबेस) का उपयोग करेंगे। configure.swift में जोड़ें:

app.databases.use(.sqlite(.file("db.sqlite")), as: .sqlite)


चरण 3: REST API एंडपॉइंट बनाएं

अब सबसे दिलचस्प हिस्सा — CRUD संचालन का कार्यान्वयन। Sources/App/Controllers फ़ोल्डर में TodoController.swift कंट्रोलर बनाएं:

import Vapor

struct TodoController: RouteCollection { func boot(routes: RoutesBuilder) throws { let todos = routes.grouped("api", "todos") todos.get(use: index) todos.post(use: create) todos.group(":todoID") { todo in todo.get(use: show)

ब्लॉग

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