์๋ฒ๊ฐ ์๋ต ์ฝ๋ 404๋ฅผ ๋ณด๋ด๊ณ ์์ง๋ง ํ๋ ์ ์ํฌ๊ฐ์ด๋ฅผ ์ฑ๊ณต์ผ๋ก ํด์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ํธ:
Alamofire.request(.GET, Constants.Path.rootUrl + "/api/users", parameters: ["username" : usernameString, "limit":3] , headers: ["tb-token" : userToken!])
.responseJSON { response in
print(response.request) // original URL request
print(response.response) // URL response
print(response.data) // server data
print(response.result) // result of response serialization
let results = response.result
if let JSON = response.result.value {
if response.result.isSuccess == true {
print("Success with JSON: \(JSON)")
self.tableView.hidden = false
self.resultsDict = results.value as! NSArray
let resultsNumber = results.value!.count
self.numberOfResults.text = "Results(\(resultsNumber))"
self.numberOfResults.hidden = false
self.resultsN = resultsNumber
self.loadedMode = true
self.tableView.reloadData()
self.tableView.hidden = false
}
}
else {print("error")}
}
isSuccess๋ ์๋ฒ๊ฐ ๋ค์ ๋ณด๋ด๋ ์ฝ๋์ ๊ด๊ณ์์ด ํญ์ true์ ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก Alamofire๋ ์๋ต ์๋ฆฌ์ผ์ ํตํด ๊ทธ๊ฒ์ ๋ง๋๋ ๋ชจ๋ ์๋ต (๊ทํ์ ์์์๋, ๋ ์ง์คํฐ JSONResponseSerializer
๊ฐ ์ฌ์ฉ .responseJSON
) ์ฑ๊ณตํ๋ค. ์์ฒญ์ ์๋ต ์ฝ๋๋ฅผ ํ์ธํ๋ ค๋ฉด ์์ฒญ ์ฒด์ธ์ .validate()
๋ฅผ ์ถ๊ฐํ๋ฉด๋ฉ๋๋ค. ์ด๋ ๊ฒํ๋ฉด ์๋ต ์ฝ๋๊ฐ 200์์ 299 ์ฌ์ด๊ฐ๋ฉ๋๋ค. ์ค๋ช
์์ ์ค๋ช
๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ฌ์ฉ์ ์ ์ ํ ์๋ ์์ต๋๋ค.
๊ทํ์ ๊ฒฝ์ฐ :
Alamofire.request(.GET, Constants.Path.rootUrl + "/api/users", parameters: ["username" : usernameString, "limit":3] , headers: ["tb-token" : userToken!])
.validate()
.responseJSON { response in }
๊ฐ์ฌํฉ๋๋ค, ๋งค๋ ฅ์ฒ๋ผ ์ผํ์ต๋๋ค!
๊ฐ์ฌํฉ๋๋ค. .validate()
ํ๋ฉด ์๋ต์ด ๊ฒ์ฆ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ ์ฌ์ฉํ์ฌ, ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ .validate()
๋ด๊ฐ ์ป์ ํด๋ฌ๋ผ๊ณ ์๋ต ๊ฐ : response.result.value
.
ํด๊ฒฐ์ฑ
์ด๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
๊ฐ์ฌ