কম্পিউটার টিউটোরিয়াল

Swift-এ iOS অ্যাপে HTTP POST রিকোয়েস্ট করা


iOS-এ HTTP রিকোয়েস্ট করতে আমরা DataTask এবং Session ব্যবহার করব। আমরা কনফিগারেশন, সেশন, URL, রিকোয়েস্ট এবং dataTask অবজেক্ট তৈরি করব। ধাপগুলো নিচে দেওয়া হলো।

  • প্রথমে ডিফল্ট কনফিগারেশন দিয়ে একটি সেশন অবজেক্ট তৈরি করুন।

let configuration = URLSessionConfiguration.default
let session = URLSession(configuration: configuration)
  • তারপর আমাদের প্রয়োজনীয় টাইপের URL Request তৈরি করুন, এটি GET, POST, DELETE বা PUT হতে পারে। এই উদাহরণে "POST" টাইপ দেখানো হয়েছে।

let url = URL(string: URLString)
var request : URLRequest = URLRequest(url: url!)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
  • রিকোয়েস্ট অবজেক্ট তৈরি হলে, উপরের URL দিয়ে dataTask পারফর্ম করুন। সম্পূর্ণ dataTask মেথড নিচের মতো দেখাবে।

let dataTask = session.dataTask(with: url!) { data,response,error in
    guard let httpResponse = response as? HTTPURLResponse, let receivedData = data
    else {
        print("error: not a valid http response")
        return
    }
    switch (httpResponse.statusCode) {
        case 200: //success response.
            break
        case 400:
            break
        default:
            break
    }
}
dataTask.resume()
  • এখন এটি একটি ফাংশনে এম্বেড করে কোডে ব্যবহার করুন।

func hitAPI(_for URLString:String) {
    let configuration = URLSessionConfiguration.default
    let session = URLSession(configuration: configuration)
    let url = URL(string: URLString)
    var request : URLRequest = URLRequest(url: url!)
    request.httpMethod = "POST"
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    request.addValue("application/json", forHTTPHeaderField: "Accept")
    let dataTask = session.dataTask(with: url!) {
        data,response,error in
        // 1: Check HTTP Response for successful GET request
        guard let httpResponse = response as? HTTPURLResponse, let receivedData = data
        else {
            print("error: not a valid http response")
            return
        }
        switch (httpResponse.statusCode) {
            case 200:
                //success response.
                break
            case 400:
                break
            default:
                break
        }
    }
    dataTask.resume()
}

নোট: কিছু API এক্সেস করার জন্য info.plist-এ Transport Security এক্সেপশন আলাউ করতে হতে পারে।

এই উদাহরণে কোনো আউটপুট দেখানো হয়নি কারণ ডেটা পোস্ট করার জন্য একটি API প্রয়োজন।


  1. iOS-এ UIWebView-এ PDF লোড করার পদ্ধতি

  2. iOS Photos অ্যাপ দিয়ে ফটো এডিট করার পদ্ধতি

  3. সুইফ্টের সাথে iOS CRUD অ্যাপে রিয়েল্ম ডেটাবেস ইন্টিগ্রেশন: ধাপে ধাপে গাইড

  4. কম বাজেটে প্রফেশনাল App Store প্রিভিউ তৈরি করুন