我如何请求参数 Alamofire 表单数据?

Posted

技术标签:

【中文标题】我如何请求参数 Alamofire 表单数据?【英文标题】:how I request parameters Alamofire form-data? 【发布时间】:2020-09-16 14:15:46 【问题描述】:

我正在实施会员注册。我使用 alamofire,我必须发送表单数据。我搜索“alamofrie 表单数据”我成功了代码,但在服务器上没有上传。我怎么办。?

func post(_ api: NetworkingAPI) -> DataRequest 
    print(baseURI + api.path)
    print(api.parameters)
    print(api.headers)
    
    return AF.upload(multipartFormData:  (multipartFormData) in
        for (key, value) in api.parameters 
            multipartFormData.append("\(value)".data(using: String.Encoding.utf8)!, withName: key as String)
        
    , to: baseURI + api.path, method: .post, headers: api.headers).response  resp in
        switch resp.result 
        case .failure(let error):
            print(error)
        case .success(_):
            print("success!!")
        
    

参数是这样的。 [“密码”:“”,“电子邮件”:“”,“名称”:“”]

哦,这个状态码是 500...

【问题讨论】:

哦,这个状态码是 500... 【参考方案1】:

500 表示“内部服务器错误” - 您的服务器端无法正确接受您发送的内容。

您可以使用此重载发送数据:

Alamofire.request(api_url, method: .post, parameters: params, encoding: encoding, headers: headers) 

其中 params 是字典:typealias Parameters = [String : Any]

【讨论】:

但是我昨天是这样发送的,但它不起作用..所以我的服务器团队说“reqeust data must be form-data” 请服务器团队以任何其他语言为您提供此 API 的工作示例。或者工作的 http 请求看起来像文本..

以上是关于我如何请求参数 Alamofire 表单数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何在响应闭包中访问 Alamofire 请求参数?

Alamofire 多部分/表单数据上传请求中仅不发送图像

如何在 Alamofire 正文 + 参数中创建请求

在 Alamofire 请求参数中传递 CSRF 令牌

如何在 Alamofire Swift 的 POST 请求中添加标头参数(-H、-u、-X、-d)

如何向 Alamofire 请求添加参数