[英]How can I see the server response from an HTTP GET request in Swift?
我正在使用RESTless API進行數據庫查詢,以檢查諸如唯一的用戶名和電子郵件之類的內容。 但是,我不確定與從返回字典相比,如何從響應中獲取服務器代碼。 對於某些搜索,如果沒有找到結果,則返回404和非空字典。 所以我不能簡單地檢查return dict是否為空。
do {
request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(data, options: .PrettyPrinted)
}
catch {
print("failure")
}
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
let task = session.dataTaskWithRequest(request) {
data, response, error in
// Check for error
if error != nil
{
print("error=\(error)")
return
}
// Print out response string
let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("responseString = \(responseString)")
// Convert server json response to NSDictionary
do {
if let convertedJsonIntoDict = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary {
// Print out dictionary
print(convertedJsonIntoDict)
convertedDict = convertedJsonIntoDict
}
}
catch let error as NSError {
print(error.localizedDescription)
}
}
task.resume()
return convertedDict ?? nil
傳遞給完成處理程序的response
對象中包含有關響應的數據。 對於HTTP / HTTPS請求,它是一個NSHTTPURLResponse
,其中包含一個可以訪問的statusCode
屬性。
let task = session.dataTaskWithRequest(request) {
data, response, error in
if let httpResponse = response as? NSHTTPURLResponse {
let statusCode = httpResponse.statusCode
// do whatever with the status code
}
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.