AFHTTPResponseSerializer如何进行response有效性验证?具体哪些情况会导致验证失败?
在AFNetworking中,AFHTTPResponseSerializer是用于将网络请求的响应数据转换成可操作的数据类型的类。在进行转换之前,需要对响应数据进行有效性验证,以确保数据的正确性和安全性。AFHTTPResponseSerializer会通过调用其父类AFURLResponseSerialization中定义的方法来进行验证。具体来说,会对响应数据、响应状态码、响应头信息进行验证,以及根据请求是否使用HTTPS协议来验证证书的安全性。如果验证失败,AFHTTPResponseSerializer会返回一个NSError对象,以通知应用程序发生了什么错误。
具体情况包括:响应数据为空、响应状态码不在200-299之间、证书无效等。在验证过程中,可以通过设置AFHTTPResponseSerializer的acceptableStatusCodes、acceptableContentTypes属性来进行自定义的验证。如果需要更加细粒度的控制,可以创建自己的响应序列化器类来实现。