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
पुस्तकालय में भी
Kotlin में अंतर्राष्ट्रीयकरण (i18n): उदाहरणों के साथ पूर्ण गाइड
Prisma TypeScript: पूर्ण गाइड उदाहरणों के साथ
Kotlin में इमेज प्रोसेसिंग: ImageMagick लाइब्रेरी के साथ resize और crop
C++ में Event Bus और Observer पैटर्न: कोड के साथ पूरी गाइड