我最近开始在URLSession上使用Alamofire,只是为了适应它,并切换到可读性更强、更简单的代码库。我正在创建一个应用程序,其中有一个UITextField,每当用户写东西并点击回车时,它就会通过API搜索特定的数据。我想先把这些数据打印到控制台上,但我不知道该怎么做。如何从我的模型中搜索任何特定数据?
编辑:基本URL如下所示:"https://api.themoviedb.org/3/search/movie?api_key=[API_KEY]"。要搜索特定的标题,我们添加"&query=[电影名称]"。如何将查询的最后一部分添加到用户在文本字段中输入的内容中?
PS:我的模型使用了ObjectMapper。
如果我们得到默认的API调用响应为json,就像这个
"success" : true,
"message" : "successfull"
"data" : {
"field1" : "some data"
}
}
所以我们可以像一样处理这个响应
AF.request(URL(string: "myurl.com")!,
method: .get,
headers: AppConstants.headers)
.validate(statusCode:200..<300)
.validate(contentType:[AppConstants.contentTypeJson])
.responseJSON { (response) in
switch response.result {
case .success(let data):
guard let json = data as? [String:AnyObject] else {
return
}
let isSuccess = (json["success"])?.boolValue ?? false
if isSuccess {
print(json) //You can do something with response
}else{
Data.currentError = (json["message"]) as? String ?? "-"
}
case .failure(let error):
print(error)
}
}
更多信息:https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#response-处理