Alamofire请求中使用的参数参数是什么?我没有指定参数就得到了结果

问题描述 投票:0回答:1

我使用Alamofire在Swift中进行联网,没有在请求中补充参数参数的信息。我的结果还不错。有谁知道参数参数的用途以及何时应补充信息?

    let editedFlowerName = flowerName.replacingOccurrences(of: " ", with: "%20", options: .literal, range: nil)
    let url = "https://en.wikipedia.org/w/api.php?action=query&format=json&prop=extracts&exintro&explaintext&redirects=1&indexpageids"
    guard let wikiURL = URL(string: "\(url)&titles=\(editedFlowerName)") else {fatalError("Error creating url")}
    //print(wikiURL)
    AF.request(wikiURL, method: .get).validate()
      .responseJSON { (response) in
          let json = JSON(value)
          print(json)
        }
swift networking alamofire
1个回答
0
投票

参数不是必需的,除非您希望随请求一起发送一些数据。使用默认编码时,请求GETDELETEHEAD将参数编码为查询字符串并将其添加到URL。但是,对于所有其他请求-POSTPATCHPUTOPTIONSCONNECT-参数被编码为查询字符串并作为请求的主体发送。

您可以通过更改编码类型来更改此行为。

例如,通过将编码设置为queryString,您可以将编码的查询字符串结果设置或追加到现有查询字符串中。

URLEncoding(destination: .queryString)

类似地,您可以使用httpBody将所有请求的编码查询字符串结果设置为URL请求的HTTP正文。

URLEncoding(destination: . httpBody)
© www.soinside.com 2019 - 2024. All rights reserved.