我在我的iOS应用中使用RestKit
我想为所有请求添加自定义标头。
是否可以在一个地方添加单个标头并让我所有的RestKit请求都使用它?如果是这样,我在哪里添加代码?
如果不是 - 我是否必须为我提出的每个请求添加标题?
答案 0 :(得分:5)
初始化RKObjectManager后,您可以在客户端上设置RKObjectManager创建的标题:
RKObjectManager *manager = [RKObjectManager managerWithBaseURL:@"https://mycompany.example.com/rest/"];
[[manager HTTPClient] setDefaultHeader:@"X-AUTH-TOKEN" value:@"abc123"];
您不需要继承AFHTTPClient。
答案 1 :(得分:1)
可以使用自定义 AFHTTPClient 。创建 AFHTTPClient 的子类并重写 requestWithMethod:path:parameters:方法,如下所示:
- (NSMutableURLRequest *)requestWithMethod:(NSString *)method
path:(NSString *)path
parameters:(NSDictionary *)parameters
{
[self setDefaultHeader:@"X-USER-TOKEN" value:userToken];
return [super requestWithMethod:method
path:path
parameters:parameters];
}
然后用它初始化对象管理器:
RKObjectManager *manager = [[RKObjectManager alloc]
initWithHTTPClient:customHttpClient];