使用 Alamofire 删除附加在 URL 末尾的 ?=

Posted

技术标签:

【中文标题】使用 Alamofire 删除附加在 URL 末尾的 ?=【英文标题】:Remove ?= appended at the end of URL using Alamofire 【发布时间】:2018-01-15 07:01:48 【问题描述】:

即使在 Alamofire 中的请求中没有添加任何参数,如何删除附加在任何 url 上的 ?=?

样品请求:

Alamofire.request(url, method: .get, parameters: parameters, headers: createHeader()).validate(statusCode: 200..<300).responseJSON 
        response in
        switch response.result 
        case .success(let data):
        print(“success”)
        break
        case .failure(let error):
        print(“failure”)
        break
        
    

其中参数:[String : String] = ["" : ""]

createHeader() 为诸如授权、接受语言等标头返回一个字典

【问题讨论】:

检查url字符串是否包含?=。如果是,则删除这些字符。 实际上我发送给 Alamofire 请求的 url 不包含 ?= 但 Alamofire 附加了它。所以我想知道我可以从哪里删除它。 您能否发布您在 Alamofire 中提出的示例请求,以便我们更好地帮助您? @AceRivera 请检查我的编辑 检查我的答案。谢谢 【参考方案1】:

您正在传递参数。在这种情况下为空参数,["" : ""]。 因此,参数不为零

let parameters = ["" : ""] // this is not nil

["" : ""] 是 Dictionary ([String : String]) 的一个实例,其数据为空。 这就是请求仍然附加的原因?=

【讨论】:

感谢您的回答。我会检查并更新你。 :) 好的。如果你真的没有要传递的参数,你可以在 params 中传递一个“nil”,或者只是在代码中省略它。该参数不是函数所必需的,默认值为 nil check Alamofire.swift (func request) 谢谢王牌!!有效。如果我的问题是对的,请点赞。

以上是关于使用 Alamofire 删除附加在 URL 末尾的 ?=的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 进行 SEO 的蛞蝓 - 将名称附加到 URL 的末尾

在扩展名之前的 url 末尾附加字符串 [重复]

重定向到外部网站时,url 被附加到请求的 url 的末尾

在页面加载时将正斜杠附加到url的末尾

URL 编码后,数字 1 随机附加到我的 JWT 密码的末尾

为啥twitter API在文本末尾添加url