RestKit 为所有请求添加自定义标头?
Posted
技术标签:
【中文标题】RestKit 为所有请求添加自定义标头?【英文标题】:RestKit add custom header for all requests? 【发布时间】:2016-04-07 12:34:03 【问题描述】:我正在为我的 ios 应用程序使用 RestKit
。
我想为 all 请求添加一个自定义标头。
是否可以在一个地方添加一个标头并让我的所有 RestKit 请求都使用它?如果是这样,我在哪里添加代码? 如果没有 - 我是否必须为我提出的每个请求添加一个标头?
【问题讨论】:
【参考方案1】:初始化RKObjectManager后,可以在RKObjectManager创建的客户端设置header:
RKObjectManager *manager = [RKObjectManager managerWithBaseURL:@"https://mycompany.example.com/rest/"];
[[manager HTTPClient] setDefaultHeader:@"X-AUTH-TOKEN" value:@"abc123"];
您不需要子类化 AFHTTPClient。
【讨论】:
【参考方案2】:可以使用自定义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];
【讨论】:
以上是关于RestKit 为所有请求添加自定义标头?的主要内容,如果未能解决你的问题,请参考以下文章