我使用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)
}
参数不是必需的,除非您希望随请求一起发送一些数据。使用默认编码时,请求GET
,DELETE
和HEAD
将参数编码为查询字符串并将其添加到URL。但是,对于所有其他请求-POST
,PATCH
,PUT
,OPTIONS
,CONNECT
-参数被编码为查询字符串并作为请求的主体发送。
您可以通过更改编码类型来更改此行为。
例如,通过将编码设置为queryString
,您可以将编码的查询字符串结果设置或追加到现有查询字符串中。
URLEncoding(destination: .queryString)
类似地,您可以使用httpBody
将所有请求的编码查询字符串结果设置为URL请求的HTTP正文。
URLEncoding(destination: . httpBody)