2016-12-31 78 views
0

我正在使用Alamofire來調用我的API。POST請求不能在swift3中使用alamofire

以下是代碼。

func alamofirePost() { 
let headers: HTTPHeaders = [ "content-type": "x-www-form-urlencoded"] 
let todosEndpoint: String = "http://54.244.108.186:4000/api/post_upc" 
let newTodo: [String: Any] = ["UPC": codeTextView.text, "DATE_TIME":   currentTime() ] 
print("i am in alamo") 
Alamofire.request(todosEndpoint, method: .post, parameters: newTodo ,encoding: JSONEncoding.default,headers: headers) 
.responseJSON { response in 
guard response.result.error == nil else { 
// got an error in getting the data, need to handle it 
print("error calling POST on /todos/1") 
print(response) 
print(response.result.error!) 
return 
} 

當我調用的函數,它試圖在數據庫

INSERT INTO `UPC`(`UPC`,`DATE_TIME`) VALUES (NULL,NULL) 

下面插入空值是響應,當我在郵遞員應用進行操作。

enter image description here

能有人幫

回答

1

首先在你的郵差要求你要發送你的身體x-www-form-urlencoded但在你的斯威夫特例如你指定標題爲好。但實際上,您將自己的POST正文提交爲JSON有效內容。相反,您的郵遞員請求是一組鍵/值對。

此外,這兩個鍵似乎與您的Swift示例和Postman示例名稱不同。

雨燕採用UPCDATE_TIME而郵遞員upc_appdttm_app這樣至少你要確保你沿着你的API預計

+0

大科迪發送。謝謝。我研究並得到了解決方案。 – Uyyan