That's how I'm doing a POST request
var request = URLRequest(url: url)
let methodString = mehtod.rawValue
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
request.cachePolicy = .reloadIgnoringLocalAndRemoteCacheData
if let headers = headers {
    request.set(headers: headers)
}
if let parameters = parameters {
    do {
        let postParams =  try JSONEncoder().encode(parameters)
        let postData = postParams
        request.httpBody = postData
    }
    catch {
        print("error")
    }
}
let session = URLSession.shared
print(request)
print(request.allHTTPHeaderFields)
print(String(data: request.httpBody!, encoding: .utf8)!)
print(request.httpMethod)
session.dataTask(with: request) { (data, response, error) in
    let result: Result<Data>
    if let data = data {
        result = .success(data)
    }
    else if let error = error {
        result = .failure(error)
    }
    else {
        result = .failure(RESTError.unknownError)
    }
    completion(result)
    }.resume()
And this is what I see in Charles
I'm trying to send POST but somehow I'm sending GET request. Also I'm getting error from the server:
{"message":"Method \"GET\" not allowed.","code":"method_not_allowed"}
What can be the reason?

 
     
     
     
    