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)
    }