gpt4 book ai didi

arrays - 在 Alamofire 中发布参数

转载 作者:行者123 更新时间:2023-11-30 12:57:21 25 4
gpt4 key购买 nike

我正在尝试通过 Alamofire 向我的 API 发出 Post 请求,我可以在 Postman 中发出该请求。

在 postman 中我的请求如下所示:

enter image description here

这将给出成功响应。

在我的应用程序中,我也尝试通过以下函数来执行此操作:

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}

我做错了什么?我想将一个简单的整数数组发布到我的后端

最佳答案

缺少“编码:.JSON”部分:

Alamofire.request(.POST, urlString, parameters: parameters, headers: self.header, encoding: .JSON)

关于arrays - 在 Alamofire 中发布参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40276994/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com