【发布时间】:2016-10-27 05:47:29
【问题描述】:
我正在尝试通过 Alamofire 向我的 API 发出 Post 请求,而我可以在 Postman 中发出该请求。
在 Postman 中,我的请求如下所示:
这将给出一个成功响应。
在我的应用程序中,我也尝试通过以下功能做到这一点:
func postUserInterests(interests: [Interest], user: User, completionHandler: (([AnyObject]?, ErrorType?) -> Void)) {
let urlString = Constant.apiUrl().stringByAppendingFormat(Constant.apiPostUserInterests, String(user.userID!))
var selectedInterests = [Int]()
for interest in interests {
if (interest.selected){
selectedInterests.append(interest.id!)
}
}
// let parameters = ["interest_ids": selectedInterests]
let parameters = ["interest_ids": [1,2,3]]
Alamofire.request(.POST, urlString, parameters: parameters, headers: self.header).validate().responseJSON { request, response, result in
switch (result) {
case .Success(let value):
let json = JSON(value)
let jsonArray = json["data"].rawString()
print(jsonArray)
if let items:Array<Item> = Mapper<Item>().mapArray(jsonArray) {
completionHandler(items, nil)
} else {
completionHandler(nil, ApiError.ParseError);
}
case .Failure(let data, let error):
print(data)
print(error)
break
}
}
}
然而,这将进入打印以下内容的 .Failure 响应:
Optional(<7b226d65 73736167 65223a22 6d697373 696e6720 70617261 6d657465 72732122 7d>)
Error Domain=com.alamofire.error Code=-6003 "Response status code was unacceptable: 422" UserInfo={NSLocalizedFailureReason=Response status code was unacceptable: 422}
我做错了什么?我想将一个简单的整数数组发布到我的后端
【问题讨论】:
-
暂时离开 validate(),您在 postman 中看到的具体代码是什么?
标签: arrays swift alamofire postman