我在Swift 3中爲iOS和api構建了一個小應用程序我正在爲獲取應用程序的數據而耗費的cURL請求。 API的 捲曲請求如下:如何使用Alamofire使用以下參數進行API調用(Mashape)?
// curl -X POST --include 'https://myApi.mashape.com/' \
// -H 'X-Mashape-Key:APIKEY' \
// -H 'Content-Type: application/json' \
// -H 'Accept: application/json' \
// --data-binary '{"parameter1":"value","parameter2":"value"}'
使用夫特和Alamofire,這是API調用林製作使用POST方法來獲取數據。
func networkFunction(completed: @escaping DownloadComplete) {
let headers: HTTPHeaders = [
"X-Mashape-Key":"APIKEY",
"Content-Type":"application/json",
"Accept": "application/json"
]
let parameters: Parameters = [
"parameter1" : "value",
"parameter2" : "value"
]
Alamofire.request("https://myApi.mashape.com",method: .post,parameters: parameters, headers: headers).responseJSON
{ response in
print("Request: \(String(describing: response.request))") // original url request
print("Response: \(String(describing: response.response))") // http url response
print("Result: \(response.result)")
let result = response.result
print(response.description)
if let dict = result.value as? Dictionary<String , AnyObject> {
if let parameter1 = dict["parameter1"] as? String {
self._parameter1= parameter1
}
if letparameter2 = dict["parameter2"] as? String {
self._parameter2 = parameter2
print(parameter2)
}
}
completed()
}
}
當我這樣做時,我得到一個錯誤在控制檯作爲一個錯誤的請求。 我試過改變函數調用,但結果是一樣的。上面的API調用出了什麼問題?
編輯:我在下面的答案中添加了解決方案。
看來你不使用結束路徑,就絕對URL。檢查您是否正在使用正確的網址與端點,如「https:// myApi.mashape.com/someEndpoint」。 – kathayatnk