我想发送一个If-Modified-Since
带有 GET 请求的 http 标头,由[RKObjectManager getObjectsAtPath:...]
.
the 迁移指南 https://github.com/RestKit/RestKit/wiki/Upgrading-from-v0.10.x-to-v0.20.0告诉我只能为一个设置“全局”默认请求标头RKObjectManager
实例:
RKObjectManager* objectManager = [RKObjectManager managerWithBaseURLString:url];
[objectManager.HTTPClient setDefaultHeader:@"If-Modified-Since" value:@"Sat, 29 Dec 2012 19:43:31 GMT"];
因为我想保持集中RKObjetManager
实例(通过[RKObjectManager sharedManaged]
),这确实不是一个好的选择。
正在创建一个特定的RKObjectManager
在每个请求之前并将我的 http 标头设置为“默认”是唯一的解决方案还是有更好的方法?
这里有几个选项:
- 获得一个
NSURLRequest
对象使用requestWithObject:method:path:parameters:
,配置NSURLRequest
适当地,然后调用objectRequestOperationWithRequest:success:failure:
or managedObjectRequestOperationWithRequest:managedObjectContext:success:failure:
。这将允许您一次性配置请求。
- 配置自定义子类
RKHTTPRequestOperation
via setHTTPOperationClass:
on RKObjectManager
。这将让您挂钩子类,该子类可以在对象管理器发出请求时配置每个 NSURLRequest,从而让您集中配置。
- 在最新的开发分支上,你还可以注册一个子类
RKObjectRequestOperation
与将用于您选择的请求的管理器一起使用,使您能够在对象请求操作级别集中自定义。
选项 1 或 2 可能最适合您概述的 HTTP 级别问题,但我提到作为在对象映射级别进行相同类型的自定义的替代方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)