Swagger/OpenAPI जनरेशन Swift के लिए: उपकरण और लाइब्रेरीज़

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

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

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

Swagger/OpenAPI जनरेशन Swift (iOS/macOS) के लिए: उपकरणों का पूर्ण अवलोकन



iOS/macOS के लिए मोबाइल ऐप विकास में अक्सर REST API के साथ एकीकरण की आवश्यकता होती है। नेटवर्क लेयर को मैन्युअल रूप से लिखना समय लेने वाला और त्रुटियों से भरा होता है, खासकर जब स्पेसिफिकेशन में बार-बार बदलाव होते हैं। समाधान OpenAPI (पूर्व में Swagger) स्पेसिफिकेशन से Swift कोड जनरेट करना है। इस लेख में हम मुख्य उपकरणों, उनकी क्षमताओं और उपयोग के उदाहरणों पर चर्चा करेंगे।



OpenAPI क्या है और Swift डेवलपर को इसकी आवश्यकता क्यों है?



OpenAPI YAML या JSON प्रारूप में REST API का वर्णन करने का एक मानक है। इसमें सभी एंडपॉइंट, पैरामीटर, डेटा मॉडल और प्रतिक्रिया कोड के बारे में जानकारी होती है। ऐसे विवरण से कोड जनरेशन निम्नलिखित की अनुमति देता है:

  • टाइप किए गए डेटा मॉडल (struct, enum) स्वचालित रूप से बनाना
  • सही URL और HTTP विधियों के साथ सुरक्षित API क्लाइंट जनरेट करना
  • दस्तावेज़ीकरण और कोड के बीच टाइपो और असंगतियों से बचना
  • API अपडेट के दौरान नियमित कार्य के घंटे बचाना


Swift जनरेशन के लिए मुख्य उपकरण



वर्तमान में तीन दृष्टिकोण सबसे लोकप्रिय हैं:



1. Apollo iOS

Apollo एक शक्तिशाली GraphQL क्लाइंट है, लेकिन इसका टूलकिट प्लगइन apollo-ios-openapi के माध्यम से OpenAPI का भी समर्थन करता है। हालांकि, यह समाधान GraphQL पर अधिक केंद्रित है, इसलिए शुद्ध REST के लिए अन्य विकल्पों पर विचार करना बेहतर है।



2. CreateAPI

CreateAPI एक आधुनिक जनरेटर है जो Swift में लिखा गया है। यह OpenAPI 3.0 और 3.1 का समर्थन करता है, async/await, Combine या closure-आधारित API का उपयोग करके शुद्ध Swift कोड जनरेट करता है। यह नई परियोजनाओं के लिए सबसे अच्छा विकल्प है।



3. Swagger Codegen / OpenAPI Generator

समुदाय के क्लासिक समाधान। वे Swift 5 सहित कई भाषाओं का समर्थन करते हैं। जनरेशन CLI या Gradle/Maven के लिए प्लगइन के माध्यम से होता है। परिणाम डेटा मॉडल, नेटवर्क लेयर (URLSession या Alamofire पर आधारित) और प्रोटोकॉल हैं।



CreateAPI के उपयोग का उदाहरण



एक सरल REST API (उदाहरण के लिए, उपयोगकर्ताओं की सूची) के लिए क्लाइंट जनरेशन पर विचार करें।



चरण 1. स्थापना

Package.swift में CreateAPI जोड़ें या Mint के माध्यम से स्थापित करें:

// Package.swiftdependencies: [    .package(url: "https://github.com/CreateAPI/CreateAPI", from: "0.2.0")]


चरण 2. OpenAPI स्पेसिफिकेशन तैयार करना

उदाहरण api.yaml:

openapi: "3.0.0"info:  title: Users API  version: "1.0"paths:  /users:    get:      summary: सभी उपयोगकर्ता प्राप्त करें      responses:        '200':          description: सफलता          content:            application/json:              schema:                type: array                items:                  $ref: '#/components/schemas/User'components:  schemas:    User:      type: object      properties:        id:          type: integer        name:          type: string        email:          type: string      required:        - id        - name


चरण 3. Swift कोड जनरेशन

एक कॉन्फ़िगरेशन फ़ाइल .createapi.yml बनाएं:

spec: api.yamloutput: ./Generatedmodule: UsersAPI


जनरेटर चलाएं:

swift run create-api generate


चरण 4. जनरेट किए गए कोड का उपयोग

परिणामस्वरूप, आपको UsersAPI.swift और Models.swift फ़ाइलें प्राप्त होंगी। ऐप में उपयोग का उदाहरण:

import UsersAPI

let client = Client(baseURL: URL(string: "https://api.example.com")!)

Task { do { let users: [User] = try await client.users.get() for user in users { print("\\(user.name) (\\(user.email))") } } catch { print("त्रुटि: \\(error.localizedDescription)") }}


Swagger

अनुशंसाएँ