30 मिनट में Swift पर REST API कैसे लिखें: शुरुआती लोगों के लिए गाइड

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

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

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

30 मिनट में Swift पर REST API कैसे लिखें: शुरुआती लोगों के लिए

\n\n

Swift केवल iOS और macOS के लिए मोबाइल ऐप बनाने की भाषा नहीं है। Vapor फ्रेमवर्क के आगमन के साथ, Swift पर सर्वर-साइड एप्लिकेशन विकसित करना सुलभ और सुविधाजनक हो गया है। इस लेख में, हम दिखाएंगे कि कैसे सिर्फ 30 मिनट में Swift पर एक सरल REST API लिखा जा सकता है। आप Vapor के साथ काम करने के बुनियादी सिद्धांतों को सीखेंगे, रूट बनाना, अनुरोधों को संसाधित करना और JSON प्रतिक्रियाएँ लौटाना सीखेंगे।

\n\n

यह मार्गदर्शिका उन शुरुआती लोगों के लिए आदर्श है जो Swift की मूल बातों से परिचित हैं, लेकिन उन्होंने कभी सर्वर कोड नहीं लिखा है। हम कोड उदाहरणों और स्पष्टीकरणों के साथ, चरण दर चरण प्रक्रिया को समझेंगे।

\n\n

REST API क्या है और इसकी आवश्यकता क्यों है?

\n\n

REST (Representational State Transfer) नेटवर्क पर वितरित एप्लिकेशन के घटकों के बीच बातचीत की एक आर्किटेक्चरल शैली है। REST API क्लाइंट एप्लिकेशन (जैसे, iOS ऐप) को HTTP अनुरोधों के माध्यम से सर्वर पर डेटा प्राप्त करने और भेजने की अनुमति देता है।

\n\n

REST में उपयोग किए जाने वाले मुख्य HTTP तरीके:

\n
    \n
  • GET — डेटा प्राप्त करना
  • \n
  • POST — नया संसाधन बनाना
  • \n
  • PUT — मौजूदा संसाधन को अपडेट करना
  • \n
  • DELETE — संसाधन को हटाना
  • \n
\n\n

हमारे उदाहरण के लिए, हम कार्यों की सूची (Todo List) के प्रबंधन के लिए एक सरल API बनाएंगे। यह सभी चार बुनियादी CRUD संचालन (Create, Read, Update, Delete) का समर्थन करेगा।

\n\n

Vapor की स्थापना और प्रोजेक्ट बनाना

\n\n

Vapor Swift के लिए सबसे लोकप्रिय वेब फ्रेमवर्क है। शुरू करने के लिए, Homebrew के माध्यम से Vapor Toolbox स्थापित करें:

\n\n
brew install vapor
\n\n

स्थापना के बाद, एक नया प्रोजेक्ट बनाएँ:

\n\n
vapor new TodoAPI\ncd TodoAPI
\n\n

यह कमांड पहले से कॉन्फ़िगर किए गए सर्वर के साथ एक प्रोजेक्ट संरचना बनाएगा। Xcode में प्रोजेक्ट खोलें:

\n\n
open Package.swift
\n\n

Xcode में, आप Vapor प्रोजेक्ट की मानक संरचना देखेंगे। मुख्य कोड Sources/App फ़ोल्डर में स्थित है।

\n\n

डेटा मॉडल बनाना

\n\n

कार्यों के साथ काम करने के लिए हमें एक मॉडल की आवश्यकता है। Sources/App/Models फ़ोल्डर में Todo.swift फ़ाइल बनाएँ:

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

हम Fluent का उपयोग कर रहे हैं — Swift के लिए एक ORM जो डेटाबेस के साथ काम करता है। हमारे उदाहरण में, सरलता के लिए हम SQLite का उपयोग करेंगे। Content प्रोटोकॉल पर ध्यान दें — यह मॉडल को स्वचालित रूप से JSON में एनकोड/डीकोड करने की अनुमति देता है।

\n\n

माइग्रेशन और डेटाबेस सेटअप

\n\n

अब अपने मॉडल के लिए एक माइग्रेशन बनाएँ। Sources/App/Migrations फ़ोल्डर में CreateTodo.swift फ़ाइल जोड़ें:

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

configure.swift फ़ाइल में, डेटाबेस और माइग्रेशन का पंजीकरण जोड़ें:

\n\n
import Fluent\nimport FluentSQLiteDriver\n\npublic func configure(_ app: Application) throws {\n    app.databases.use(.sqlite(.file("db.sqlite")), as: .sqlite)\n    \n    app.migrations.add(CreateTodo())\n    \n                

ब्लॉग

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