RestKit 0.20.0pre5:每个请求的HTTP标头

man*_*anu 4 http-headers restkit

我想发送If-Modified-Since带有GET请求的http标头[RKObjectManager getObjectsAtPath:...].

迁移指南告诉我可以为仅设置"全局"默认请求头 RKObjectManager的实例:

RKObjectManager* objectManager = [RKObjectManager managerWithBaseURLString:url];
[objectManager.HTTPClient setDefaultHeader:@"If-Modified-Since" value:@"Sat, 29 Dec 2012 19:43:31 GMT"];
Run Code Online (Sandbox Code Playgroud)

因为我想保留一个集中的RKObjetManager实例(via [RKObjectManager sharedManaged]),这不是一个很好的选择.

RKObjectManager在每个请求之前创建一个特定的,并将我的http标头设置为"默认"唯一的解决方案还是有更好的方法?

Bla*_*ers 15

这里有几个选项:

  1. NSURLRequest使用requestWithObject:method:path:parameters:,获取对象,NSURLRequest适当配置,然后调用objectRequestOperationWithRequest:success:failure:managedObjectRequestOperationWithRequest:managedObjectContext:success:failure:.这将允许您一次性配置请求.
  2. 配置的自定义子类RKHTTPRequestOperation通过setHTTPOperationClass:RKObjectManager.这将允许您挂钩子类,可以在对象管理器发出请求时配置每个NSURLRequest,从而使您可以集中配置.
  3. 在最新的开发分支上,您还RKObjectRequestOperation可以使用管理器注册子类,该子类将用于您选择的请求,使您能够在对象请求操作级别集中自定义.

选项1或2可能最适合您概述的HTTP级别问题,但我提到作为在对象映射级别执行相同类型的自定义的替代方法.