【问题标题】:Alamofire form-data” parameters type post requestAlamofire form-data”参数类型发布请求
【发布时间】:2020-09-22 17:25:11
【问题描述】:

我正在尝试像在 Postman 中一样使用表单数据发出请求,但是我总是从服务器收到 "Parameters is invalid" 响应。我用邮递员试过,效果很好。

parameters: [String: String] = ["name": "name","email": "email"]

这是我的代码:

     let request = AF
                .request(url, method: .post, parameters: parameters, encoder: URLEncodedFormParameterEncoder.default, interceptor: self.interceptor)
                .validate()
                .responseDecodable(of: KResult<T>.self) { response in
                    switch response.result {
                    case let .success(res):
                        print(res)
                        completion(.success(res.result))
                    case let .failure(error):
                        print(error)
                        completion(.error(error))
                        }
                }

PS

我查看了this question 和这个网站上的许多其他人,但没有解决我的问题

【问题讨论】:

  • 小技巧,你可以使用 POSTMAN 生成cURL 和 Alamofire 生成cURL,可能有助于中途相遇并检查差异..(我在那里解释过:stackoverflow.com/questions/53637437/alamofire-with-d/…) .由于我们不知道它应该是什么(POSTMAN 设置是什么,您的网络服务的文档设置是什么?)
  • 感谢您的回复后端的文档设置它需要带有 post 命令的表单数据,并且标题包含令牌和 Content-Type 键我已经得到了两者的输出,但它看起来很乱一点点:邮递员:curl --location --request POST 'http://example.com/api/v1/customer/profile/edit/' \ --header 'token: xxxxxxxx' \ --header 'Content-Type: application/json' \ --form 'name=test' \ --form 'email=test@test.com' \ --form 'genders=1'
  • 这里是request 卷曲:curl -v \ -X POST \ -H "User-Agent: Demo/1.0 (com.demo.ios; build:1; iOS 13.6.0) Alamofire/5.2.2" \ -H "Accept-Language: en;q=1.0" \ -H "Accept-Encoding: br;q=1.0, gzip;q=0.9, deflate;q=0.8" \ -H "token: xxxx" \ -H "Content-Type: application/json" \ -d "email=dsfdsfds@tes.com&amp;gender=1&amp;name=testdddd" \ "http://example.com/api/v1/customer/profile/edit/"

标签: ios swift alamofire urlsession alamofire-request


【解决方案1】:

解决方案是将Content-Type 键从application/json 设置为

application/x-www-form-urlencoded

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 1970-01-01
    • 2017-05-11
    • 2017-10-31
    • 1970-01-01
    相关资源
    最近更新 更多