मैं तेजी से प्रपत्र-डेटा का उपयोग कर एक पैरामीटर पोस्ट करने का प्रयास कर रहा हूँ। मैं फॉर्म-डेटा प्रारूप में यूआरएल सत्र के साथ एक मोबाइल नंबर पास करना चाहता हूं। लेकिन मैं ठीक से डेटा भेजने में सक्षम नहीं हूं। कृपया मुझे यूआरएल सत्र में फॉर्म-डेटा प्रारूप पर डेटा पास करने में मदद करें।

कोड मैंने कोशिश की है:

func registerService(){

    print("register tapped")

    let parameters: [String: Any]  = [
        "mobile" : mobileNumber
    ]
    let url = URL(string: "http://54.251.198.30/api/user/login")
    var req =  URLRequest(url: url!)
    req.httpMethod = "POST"
    let boundary = "Boundary-\(UUID().uuidString)"
    req.addValue("multipart/form-data : \(boundary)", forHTTPHeaderField: "Contet-Type")
    req.addValue("multipart/form-data", forHTTPHeaderField: "Accept")
  
    req.httpBody = NSKeyedArchiver.archivedData(withRootObject: parameters)

    guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted) else {return}
    req.httpBody = httpBody
    let session = URLSession.shared
    session.dataTask(with: req, completionHandler: {(data, response, error) in
        if response != nil {
             print(response)
        }
         if let jsonResponse = try? JSONDecoder().decode(LoginBase.self, from: data!) {
                                print(jsonResponse)
        
                            }else{
                                print("error")
                            }

    }).resume()
}

मैंने एक छवि जोड़ी है जिसे मैं पास करना चाहता हूं। आप यहां देख सकते हैं

आपके प्रतिक्रिया के लिए धन्येवाद

0
Al Mustakim 19 जुलाई 2020, 06:35

1 उत्तर

सबसे बढ़िया उत्तर

मैंने आपके फ़ंक्शन पैरामीटर के साथ-साथ अनुरोध-बॉडी को सही सिंटैक्स में संशोधित किया है। अब आप निम्न प्रकार से उपयोग कर सकते हैं:-

  func Register(){
      print("register tapped")

    let parameters: [String: Any]  = ["mobile" : mobileNumber] as Dictionary<String, Any>

var request = URLRequest(url: URL(string: "http://54.251.198.30/api/user/login")!)
    request.httpMethod = "POST"
    request.httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: [])
    request.addValue("application/json", forHTTPHeaderField: "Content-Type")

    let session = URLSession.shared
    let task = session.dataTask(with: request, completionHandler: { data, response, error -> Void in
        print(response!)
        do {
            let json = try JSONSerialization.jsonObject(with: data!) as! Dictionary<String, AnyObject>
            print(json)
        } catch {
            print("error")
        }
    })

    task.resume()
}
-4
Ashutosh kumar Mishra 19 जुलाई 2020, 04:14