IOS में http अनुरोध करने के लिए हम DataTask और सेशन का उपयोग करेंगे। हम कॉन्फ़िगरेशन, सत्र, url, अनुरोध और डेटा टास्क ऑब्जेक्ट बनाएंगे। आइए उन चरणों को देखें जिनसे हम गुज़रेंगे।
HTTP रिक्वेस्ट कई प्रकार की हो सकती है, यह इस बात पर निर्भर करता है कि हम अपने सर्वर से किस तरह का रिक्वेस्ट करना चाहते हैं। नीचे बुनियादी प्रकार के अनुरोध दिए गए हैं।
"GET", "POST", "PUT", "DELETE", हम अपने API के अनुसार इनमें से किसी का भी उपयोग कर सकते हैं। प्रत्येक प्रकार के अनुरोध के लिए मूल बातें समान रहती हैं, जिन्हें नीचे दिखाया गया है। आइए इन उदाहरणों को DELETE प्रकार के अनुरोध के साथ देखें।
-
सबसे पहले हमें एक सत्र ऑब्जेक्ट बनाने की आवश्यकता है, जो डिफ़ॉल्ट कॉन्फ़िगरेशन है।
-
फिर हमें एक URL Request बनाने की आवश्यकता है जिस प्रकार की हमें आवश्यकता है, इसे प्राप्त, पोस्ट, डिलीट या पुट किया जा सकता है। इस उदाहरण में हम "हटाएं" प्रकार देख रहे हैं।
url =URL (स्ट्रिंग:URLString) दें // url =NSURL (स्ट्रिंग:स्ट्रिंग के रूप में urlString) वर अनुरोध करें:URLRequest =URLRequest (url:url!) अनुरोध। /json", forHTTPHeaderField:"Content-Type")request.addValue("application/json", forHTTPHeaderField:"Accept")
-
एक बार जब हम अनुरोध वस्तु बना लेते हैं, तो हमें डेटाटास्क को निष्पादित करने की आवश्यकता होती है, यूआरएल के साथ हमने अभी ऊपर बनाया है। इस प्रकार हमारा पूरा डेटा टास्क पद्धति अब इस तरह दिखनी चाहिए।
डेटा टास्क =सत्र। डेटा टास्क (साथ:यूआरएल!) {डेटा, प्रतिक्रिया, गार्ड में त्रुटि httpResponse =प्रतिक्रिया के रूप में दें? HTTPURLResponse, प्राप्त डेटा =डेटा अन्य {प्रिंट ("त्रुटि:मान्य http प्रतिक्रिया नहीं") वापसी} स्विच (httpResponse.statusCode) {केस 200:// सफलता प्रतिक्रिया। ब्रेक केस 400:ब्रेक डिफॉल्ट:ब्रेक }}dataTask.resume()
-
अब हम इसे एक फ़ंक्शन में एम्बेड कर सकते हैं और अपने कोड में उपयोग कर सकते हैं।
हिटएपीआई(_URLString के लिए:स्ट्रिंग) { कॉन्फ़िगरेशन =URLSessionConfiguration.default चलो सत्र =URLSession (कॉन्फ़िगरेशन:कॉन्फ़िगरेशन) url =URL (स्ट्रिंग:URLString) दें // url =NSURL (स्ट्रिंग:urlString को स्ट्रिंग के रूप में) वर अनुरोध दें :URLRequest =URLRequest (url:url!) अनुरोध। ) dataTask =session.dataTask (साथ:url!) {डेटा, प्रतिक्रिया, त्रुटि // 1 में दें:सफल GET अनुरोध गार्ड के लिए HTTP प्रतिक्रिया की जाँच करें httpResponse =प्रतिक्रिया के रूप में दें? HTTPURLResponse, प्राप्त डेटा =डेटा अन्य {प्रिंट ("त्रुटि:मान्य http प्रतिक्रिया नहीं") वापसी} स्विच (httpResponse.statusCode) {केस 200:// सफलता प्रतिक्रिया। ब्रेक केस 400:ब्रेक डिफॉल्ट:ब्रेक } } dataTask.resume()}
नोट :आपको कुछ एपीआई तक पहुंचने के लिए अपनी info.plist फ़ाइल में परिवहन सुरक्षा अपवादों को अनुमति देने की आवश्यकता हो सकती है।
इस उदाहरण के साथ कोई आउटपुट नहीं दिखाया गया है क्योंकि कुछ डेटा को हटाने के लिए एपीआई की आवश्यकता होती है।