Reputation: 1394
In objC I do:
NSData *postData = ...
NSMutableURLRequest *request = ...
[request setHTTPBody:postData];
How to do in Swift Alamofire?
Alamofire.request(url, method: .post, parameters: nil, encoding: URLEncoding.default, headers: headers)
request.validate().responseJSON {
...
}
Upvotes: 0
Views: 426
Reputation: 70
Use Alamofire AND Swifty Json Library for suitable api call and json parsing
Swifty Json https://github.com/SwiftyJSON/SwiftyJSON
Alamofire https://github.com/Alamofire/Alamofire
First create your parameter list in [String: Any] type
func CallAPI(){
let parameters: [String: Any] = [
"Username": "Admin",
"Password": "123456",
"Language_Code": "EN"]
Alamofire.request("Your API Url", method: .post, parameters: parameters, encoding: JSONEncoding.default)
.responseJSON { response in
if((response.result.value) != nil) {
let ResultJson = JSON(response.result.value!)
print("ResultJson==",ResultJson)
}
}
}
Upvotes: 0
Reputation: 100523
Alamfire accepts [String:Any]
do {
let params = try JSONSerialization.jsonObject(with: data, options: []) as! [String:Any]
Alamofire.request(url, method: .post, parameters:params, encoding: JSONEncoding.default, headers: headers)
request.validate().responseJSON {
...
}
}
catch {
print(error)
}
Swift 4.2
Alamofire.request(url, method: .post, parameters: [:], encoding: "test", headers: [:])
extension String: ParameterEncoding {
public func encode(_ urlRequest: URLRequestConvertible, with parameters: Parameters?) throws -> URLRequest {
var request = try urlRequest.asURLRequest()
request.httpBody = data(using: .utf8, allowLossyConversion: false)
return request
}
}
Upvotes: 2