Ram*_*mar 3 validation swift alamofire
Alamofire.request(.GET, getUrl("mystuff")).validate()
- 该validate()
方法有什么用?如何使用它来验证服务器连接问题?
Tam*_*gel 12
正如关于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)
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用和参数提供自定义验证选项.statusCode
contentType
例:
Alamofire.request("https://example.com/get")
.validate(statusCode: 200..<300)
.validate(contentType: ["application/json", "application/xml"])
.responseData { response in
[...]
}
Run Code Online (Sandbox Code Playgroud)
如果要手动检查状态代码,可以使用 response.response?.statusCode
.
例:
switch response.response?.statusCode {
case 200?: print("Success")
case 418?: print("I'm a teapot")
default: return
}
Run Code Online (Sandbox Code Playgroud)