AFHTTPResponseSerializer类说明


继承:NSObject


遵循:AFURLResponseSerialization


声明处:AFURLResponseSerialization.h


概述

AFHTTPResponseSerializer遵循AFURLRequestSerialization和AFURLResponseSerialization协议,提供一个查询字符串/URL格式编码参数序列化和默认请求头的具体基础实现,同时还有响应状态码和内容类型校验。

任何请求或响应序列使用HTTP处理的,建议创建AFHTTPResponseSerializer子类来确保统一的默认行为。

任务

其他方法

  • init
  • stringEncoding 属性
  • +serializer

配置响应序列器

  • acceptableStatusCodes 属性
  • acceptableContentTypes 属性
  • -validateResponse:data:error:

属性

acceptableContentTypes

@property (nonatomic, copy, nullable) NSSet<NSString*> *acceptableContentTypes

讨论

响应可接收的MIME类型。当不为nil时,响应中内容类型的MIME类型与集合不相交,在校验中将返回一个错误。

声明处

AFURLResponseSerialization.h

acceptableStatusCodes

@property (nonatomic, copy, nullable) NSIndexSet *acceptableStatusCodes

讨论

响应可接受的HTTP状态码。当不为nil时,响应的状态码不包含在集合中,在校验中将返回一个错误。
同见 http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

声明处

AFURLResponseSerialization.h

stringEncoding

@property (nonatomic, assign) NSStringEncoding stringEncoding

讨论

字符串编码用来序列化从服务器接收到的数据,当响应没有指定字符串编码时,默认为NSUTF8StringEncoding.

声明处

AFURLResponseSerialization.h

类方法

serializer

+ (instancetype)serializer

讨论

按默认配置创建和返回一个序列化。

声明处

AFURLResponseSerialization.h

实例方法

init

- (instancetype)init

validateResponse:data:error:

- (BOOL)validateResponse:(nullable NSHTTPURLResponse *)response data:(nullable NSData *)data error:(NSError *_Nullable __autoreleasing *)error

讨论

校验指定的响应和数据。
在一个基本实现中,这个方法检查一个可接受的状态码和内容类型。子类希望添加其他领域特殊性的检查。

参数

response

被校验的响应。

data

与响应相关联的数据。

error

试图去校验响应时发生的错误。

返回值

当响应时有效的返回YES,否则返回NO。

声明处

AFURLResponseSerialization.h

// END 看了AFN的说明文档后,觉得我们真正使用的就只有一部分。里面包含了那么多的内容,震惊啊。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容