Alamofire.request(.GET, getUrl("mystuff")).validate()
- validate()
方法的用途是什么?如何使用它来验证服务器连接问题?
答案 0 :(得分:9)
如documentation on GitHub所述,validate()
不带参数会检查状态代码是否为2xx,以及标题中可选提供的Accept
部分是否与响应相匹配Content-Type
。
示例:强>
Alamofire.request("https://example.com/get").validate().responseJSON { response in
switch response.result {
case .success:
print("Validation Successful")
case .failure(let error):
print(error.localizedDescription)
}
}
您可以使用statusCode
和contentType
参数提供自定义验证选项。
示例:强>
Alamofire.request("https://example.com/get")
.validate(statusCode: 200..<300)
.validate(contentType: ["application/json", "application/xml"])
.responseData { response in
[...]
}
如果您想检查状态代码手动,可以使用response.response?.statusCode
访问它。
示例:强>
switch response.response?.statusCode {
case 200?: print("Success")
case 418?: print("I'm a teapot")
default: return
}