Alamofire,服务器上的更新数据未根据响应更新
Alamofire, Updated data on server is not updating on response
这是我的 alamofire 代码。
let headers: HTTPHeaders = ["Accept": "application/json",
"Authorization": Setting.getLoginStatus().accessToken]
let url = "http://thedemo.net/demo/stdinaus/api/jobs-near-me?page=1&latitude=27.6947033&longitude=85.3310636"
Alamofire.request(url, method: .get, encoding : JSONEncoding.default, headers: headers).responseJSON { (response) in
guard let jobsResponse = response.result.value as? [String:Any] else{
print("Error: \(String(describing: response.result.error))")
failure((response.result.error! as Error))
return
}
print("response: \(jobsResponse)") }
响应正常并显示在相关屏幕上。我从视图控制器中的 viewDidLoad() 调用了它。在服务器上更新数据时,新数据不会出现在响应中。但是,如果我删除该应用程序并再次 运行(即,如果应用程序是第一次 运行ning),那么更新后的数据就会正常出现。
这是 alamofire 代码的问题吗?请有人帮我解决这个问题。提前致谢
所以如果我没理解错的话,您希望应用程序中的数据在您的服务器更新时立即更新吗?
如果是这种情况,您不应在 viewDidLoad() 方法中调用它,因为此方法 仅在您的视图加载时调用一次。在您重新启动您的应用程序之前,它不会被再次调用。
缓存数据可能有问题,因此调用 API 时请忽略它。
let configuration = URLSessionConfiguration.default
configuration.requestCachePolicy = . reloadIgnoringLocalAndRemoteCacheData
var req = URLRequest(url: URL(string: YOUR_API_URL)!)
req.httpMethod = "GET"
req.setValue("application/json", forHTTPHeaderField: "Content-Type")
req.setValue("application/json", forHTTPHeaderField: "Accept")
req.setValue(Setting.getLoginStatus().accessToken, forHTTPHeaderField:"Authorization" )
req.cachePolicy = .reloadIgnoringLocalAndRemoteCacheData
Alamofire.request(req).validate().responseJSON { (response) in
print(response)
}
这是我的 alamofire 代码。
let headers: HTTPHeaders = ["Accept": "application/json",
"Authorization": Setting.getLoginStatus().accessToken]
let url = "http://thedemo.net/demo/stdinaus/api/jobs-near-me?page=1&latitude=27.6947033&longitude=85.3310636"
Alamofire.request(url, method: .get, encoding : JSONEncoding.default, headers: headers).responseJSON { (response) in
guard let jobsResponse = response.result.value as? [String:Any] else{
print("Error: \(String(describing: response.result.error))")
failure((response.result.error! as Error))
return
}
print("response: \(jobsResponse)") }
响应正常并显示在相关屏幕上。我从视图控制器中的 viewDidLoad() 调用了它。在服务器上更新数据时,新数据不会出现在响应中。但是,如果我删除该应用程序并再次 运行(即,如果应用程序是第一次 运行ning),那么更新后的数据就会正常出现。
这是 alamofire 代码的问题吗?请有人帮我解决这个问题。提前致谢
所以如果我没理解错的话,您希望应用程序中的数据在您的服务器更新时立即更新吗?
如果是这种情况,您不应在 viewDidLoad() 方法中调用它,因为此方法 仅在您的视图加载时调用一次。在您重新启动您的应用程序之前,它不会被再次调用。
缓存数据可能有问题,因此调用 API 时请忽略它。
let configuration = URLSessionConfiguration.default
configuration.requestCachePolicy = . reloadIgnoringLocalAndRemoteCacheData
var req = URLRequest(url: URL(string: YOUR_API_URL)!)
req.httpMethod = "GET"
req.setValue("application/json", forHTTPHeaderField: "Content-Type")
req.setValue("application/json", forHTTPHeaderField: "Accept")
req.setValue(Setting.getLoginStatus().accessToken, forHTTPHeaderField:"Authorization" )
req.cachePolicy = .reloadIgnoringLocalAndRemoteCacheData
Alamofire.request(req).validate().responseJSON { (response) in
print(response)
}