Как именно вы получаете параметры в вашем API?
Если из тела запроса (т.е. не из строки запроса) вы также должны передать аргумент encoding
в функцию запроса вашего Alamofire со значением JSONEncoding.default
, потому что по умолчанию кодировка URLEncoding.default
Это означает, что параметры будут переданы в виде строки запроса.
Измените это:
Alamofire.request("my-url", method: .post, parameters: parameters, headers: headers).responseJSON { (response) in
debugPrint(response.result)
}
Кому:
Alamofire.request("my-url", method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: headers).responseJSON { (response) in
debugPrint(response.result)
}
Из документа Аламофира
/// Creates a `DataRequest` using the default `SessionManager` to retrieve the contents of the specified `url`,
/// `method`, `parameters`, `encoding` and `headers`.
///
/// - parameter url: The URL.
/// - parameter method: The HTTP method. `.get` by default.
/// - parameter parameters: The parameters. `nil` by default.
/// - parameter encoding: The parameter encoding. `URLEncoding.default` by default.
/// - parameter headers: The HTTP headers. `nil` by default.
///
/// - returns: The created `DataRequest`.
@discardableResult
public func request(
_ url: URLConvertible,
method: HTTPMethod = .get,
parameters: Parameters? = nil,
encoding: ParameterEncoding = URLEncoding.default,
headers: HTTPHeaders? = nil)
-> DataRequest
{
return SessionManager.default.request(
url,
method: method,
parameters: parameters,
encoding: encoding,
headers: headers
)
}