加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 如何添加Alamofire URL参数

发布时间:2020-12-14 05:48:27 所属栏目:百科 来源:网络整理
导读:我有一个使用Postman传递URL参数的工作场景.现在,当我尝试通过Swift中的Alamofire进行此操作时,它无效. 你会如何在Alamofire中创建这个网址? http://localhost:8080/?test=123 _url = "http://localhost:8080/" let parameters: Parameters = [ "test": "12
我有一个使用Postman传递URL参数的工作场景.现在,当我尝试通过Swift中的Alamofire进行此操作时,它无效.

你会如何在Alamofire中创建这个网址?
http://localhost:8080/?test=123

_url = "http://localhost:8080/"
    let parameters: Parameters = [
        "test": "123"
        ]

    Alamofire.request(_url,method: .post,parameters: parameters,encoding: URLEncoding.default,headers: headers
问题是你正在使用URLEncoding.default. Alamofire根据您使用的HTTP方法对URLEncoding.default进行不同的解释.

对于GET,HEAD和DELETE请求,URLEncoding.default将参数编码为查询字符串并将其添加到URL,但对于任何其他方法(如POST),参数将被编码为查询字符串并作为主体发送HTTP请求.

要在POST请求中使用查询字符串,您需要将编码参数更改为URLEncoding(destination:.queryString).

您可以查看有关Alamofire如何处理请求参数here的更多详细信息.

您的代码应如下所示:

_url = "http://localhost:8080/"
    let parameters: Parameters = [
        "test": "123"
        ]

    Alamofire.request(_url,encoding: URLEncoding(destination: .queryString),headers: headers)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读