【问题标题】:Posting parameters in Alamofire在 Alamofire 中发布参数
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 2016-09-25
    • 1970-01-01
    • 2020-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多