iOS-এ একটি HTTP অনুরোধ করতে আমরা ডেটাটাস্ক এবং সেশনগুলি ব্যবহার করব। আমরা কনফিগারেশন, সেশন, ইউআরএল, অনুরোধ এবং ডেটাটাস্ক অবজেক্ট তৈরি করব। আসুন দেখি যে ধাপগুলো আমরা পার করব।
HTTP অনুরোধ বিভিন্ন ধরনের হতে পারে, এটি নির্ভর করে আমরা আমাদের সার্ভারে কী ধরনের অনুরোধ করতে চাই তার উপর। নীচে প্রাথমিক প্রকারের অনুরোধগুলি রয়েছে৷
৷“GET”,”POST”,”PUT”,”DELETE”, আমরা আমাদের API অনুযায়ী এগুলোর যেকোনো একটি ব্যবহার করতে পারি। প্রতিটি ধরণের অনুরোধের জন্য মূল বিষয়গুলি একই থাকে, যা নীচে দেখানো হয়েছে৷ DELETE ধরনের অনুরোধের সাথে এই উদাহরণগুলো দেখি।
-
সবার আগে আমাদের একটি সেশন অবজেক্ট তৈরি করতে হবে, যা ডিফল্ট কনফিগারেশন।
আলো কনফিগারেশন =URLSessionConfiguration.defaultlet সেশন =URLSession(কনফিগারেশন:কনফিগারেশন)
-
তারপর আমাদের যে ধরনের ইউআরএল রিকোয়েস্ট তৈরি করতে হবে সেটা পেতে, পোস্ট, ডিলিট বা পুট করা যাবে। এই উদাহরণে আমরা "মুছুন" টাইপ দেখতে পাচ্ছি৷
৷
-
একবার আমরা রিকোয়েস্ট অবজেক্ট তৈরি করে ফেললে, আমাদের ডাটাটাস্ক থেকে পারফর্ম করতে হবে, আমরা এইমাত্র উপরে তৈরি করা URL দিয়ে। আমাদের সম্পূর্ণ ডেটাটাস্ক পদ্ধতি এখন দেখতে এইরকম হওয়া উচিত।
dataTask =session.dataTask (সহ:url!) { data,response, error in guard যাক httpResponse =প্রতিক্রিয়া হিসাবে? HTTPURLResponse, let receiveData =data else { print("error:not a valid HTTP প্রতিক্রিয়া") return } switch (httpResponse.statusCode) { ক্ষেত্রে 200://success প্রতিক্রিয়া। break case 400:break default:break }}dataTask.resume()
-
এখন আমরা এটিকে একটি ফাংশনে এম্বেড করতে পারি এবং আমাদের কোডে ব্যবহার করতে পারি।
hitAPI(_for URLString:String) { let configuration =URLSessionConfiguration.default let session =URLSession(configuration:configuration) let url =URL(string:URLString) //let url =NSURL(string:urlString as String) var অনুরোধ :URLRequest =URLRequest(url:url!) request.httpMethod ="DELETE" request.addValue("application/json", forHTTPHeaderField:"Content-Type") request.addValue("application/json", forHTTPHeaderField:"Accept" ) let dataTask =session.dataTask(সহ:url!) { data,response,error in // 1:সফল GET অনুরোধ গার্ডের জন্য HTTP প্রতিক্রিয়া চেক করুন httpResponse =প্রতিক্রিয়া হিসাবে? HTTPURLResponse, let receiveData =data else { print("error:not a valid HTTP প্রতিক্রিয়া") return } switch (httpResponse.statusCode) { ক্ষেত্রে 200://success প্রতিক্রিয়া। break case 400:break default:break } } dataTask.resume()}
দ্রষ্টব্য :কিছু API অ্যাক্সেস করার জন্য আপনাকে আপনার info.plist ফাইলে ট্রান্সপোর্ট সিকিউরিটি ব্যতিক্রমের অনুমতি দিতে হতে পারে।
এই উদাহরণের সাথে কোন আউটপুট দেখানো হয়নি কারণ কিছু ডেটা মুছে ফেলার জন্য একটি API প্রয়োজন হয়৷