2
我正在做一个HTTP GET请求,随机它将返回一个空数组,每个请求返回一个200 OK状态码,是否得到正确的响应。URLSession从HTTP GET请求返回空阵列
我检查了网址的铬,他们是正确的,我一直无法在iOS以外重现此错误。我目前正在做的是递归调用这个方法直到它让我回到正确的响应。
有时它会给我一个填充数组的正确响应,有时它不会给我一个空数组,即使对于相同的调用。
func getStopEstimation(routeId: String?, stopId: String?, completion: (result: String) -> Void) {
let components: NSURLComponents = NSURLComponents(string: baseUrl + "GetMapStopEstimates")!
var queryItems: [URLQueryItem] = []
let apiKeyQueryItem: URLQueryItem = URLQueryItem(name: "apikey", value: apiKey)
queryItems.append(apiKeyQueryItem)
if routeId != nil {
let routeIdQueryItem: URLQueryItem = URLQueryItem(name: "routeID", value: routeId)
queryItems.append(routeIdQueryItem)
}
if stopId != nil {
let stopIdQueryItem: URLQueryItem = URLQueryItem(name: "routeStopID", value: stopId)
queryItems.append(stopIdQueryItem)
}
components.queryItems = queryItems
let url: URL = components.url!
var request: URLRequest = URLRequest(url: url)
request.httpMethod = "Get"
let session: URLSession = URLSession.shared
session.dataTask(with: request) { (data: Data?, response: URLResponse?, error: NSError?) in
if ((error) != nil) {
completion(result: "No vehciles on route")
}
completion(result: self.parseStopEstimateJson(data: data!, routeId: routeId!, stopId: stopId!))
}.resume()
}
传入parseStopEstimateJson()的数据有时是两个字节。 []
有谁知道我的电话为什么会导致不一致的响应?