我正在使用邮递员测试GET请求。在“参数”选项卡中,存在带有“ id”键和值的“路径变量”。您可以在下面的此屏幕截图中看到GET请求的URL,URL端点的末尾有“ /:id”。
如何在Swift中使用路径变量参数执行GET请求?有或没有Alamofire的欢迎回答。
谢谢
在“参数”选项卡中,具有“路径变量”,带有“ id”键和一个值
这意味着您可以用url中的实际ID值替换此:/id
。
func getRequestAPICall() {
let apiUrl : String = "your_server_url" + "/" + "yourIdValueHere"
Alamofire.request(apiUrl, method: .get, encoding: JSONEncoding.default)
.responseJSON { response in
print(response)
}
}
尝试一下。
import Alamofire
import SwiftyJson
struct jsonItems{
static var id = [String]()
struct hotel{
static var id = [String]()
}
struct beds{
static var bedId = [String]()
static var bedLenght = [Int]()
}
}
//AF.request or Almofire.request can be used depending on the version of Alamofire
let urlString = apidetails.BaseUrl + "/room/:id"
AF.request(urlString,method: .get,parameters: nil,encoding: JSONEncoding.default,headers: apidetails.header).responseString{
response in
switch response.result {
case let .success(value):
let jsonData = value.data(using: .utf8)!
let json = try? JSON(data: jsonData)
print(json) // will give you that same json you got in Postman
jsonItems.id.append(json?["id"].string ?? "Nil")
jsonItems.hotel.id.append(json?[hotel]["id"] ?? "NIl")
let bedcount = json?["beds"].count
for i in(0..<bedcount)
{
jsonItems.beds.bedId.append(json?[beds][i]["bedId].string ?? "")
jsonItems.beds.bedLenght.append(json?[beds][i]["bedLenght].int ?? 0)
}
case let .failure(error):print(error);
break
}
也下次发布您尝试过的东西,这就是StackOverFlow的工作方式。