طلب المشاركة السريعة - نص JSON فارغ

1

أحاول تنفيذ طلب POST بناءً على واجهة برمجة تطبيقات خادم REST.

في كل مرة أقوم بتنفيذ التعليمات البرمجية ، لا يتلقى الخادم النص المرسل. يتلقى الخادم نصًا يشبه هذا: {}

تبدو البنية المستخدمة في الطلب كما يلي:

struct CreateUser: Codable {
   let first_name: String
   let email: String
   let password: String
}

يتم الطلب على النحو التالي:

let userToRegister = CreateUser(firstName: "Max", email: "[email protected]", password: "SECRET_PASSWORD")
let str = API_ENDPOINT
var request : URLRequest = URLRequest(url: URL(string: str)!)
let encoder = JSONEncoder()
let jsonData = try? encoder.encode(userToRegister)
request.httpBody = jsonData
request.httpMethod = "POST"
return URLSession.shared.dataTask(with: request, completionHandler: {(data,response,error) in
    DispatchQueue.main.async {
        if let httpResponse = response as? HTTPURLResponse {
            if httpResponse.statusCode == 200 {
                //Code for successful request
            } else {
                //Code for failure in request
            }
        }
    }
})

1 إجابة

1
افضل جواب

لقد حللت المشكلة. يجب عليك إضافة الأسطر التالية:

request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("application/json", forHTTPHeaderField: "Accept")
:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام