objective-c - 如何使用 RestKit 设置动态 header ?

标签 objective-c http-headers restkit

我的想法是为我向服务器执行的每个请求添加签名。我希望在 header 中包含此值,以便服务器可以识别客户端。

以下是我目前如何设置我的经理:

@property(nonatomic, strong) RKObjectManager *manager;

...

- (void)setupManager {
  self.manager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:ACCESS_POINT]];

  // Add logic here to add my dynamic header

  [self.manager.HTTPClient setDefaultHeader:@"Content-Type" value:@"application/json"];
  [self.manager.HTTPClient setDefaultHeader:@"Accept" value:@"application/json"];
  [self.manager addResponseDescriptorsFromArray:@[...];
  [self.manager addRequestDescriptorsFromArray:@[...];
}

我只调用一次 setupManager

所以我希望我的经理自动为我设置一个针对每个请求都不同的 header ,类似的东西

 // the signature method would return an encoded string with some encrypted value, different each time we call it
 [self.manager.HTTPClient setDefaultHeader:@"SIGNATURE" value:[self signature]];

最佳答案

好吧,我使用了 AFHTTPClient 使用的 NSOperationQueue

- (void)setupManager {
  self.manager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:ACCESS_POINT]];

  [self.manager.HTTPClient.operationQueue addOperationWithBlock:^{
    [self.manager.HTTPClient setDefaultHeader:@"SIGNATURE" value:[self signature]];
  }];

  [self.manager.HTTPClient setDefaultHeader:@"Content-Type" value:@"application/json"];
  [self.manager.HTTPClient setDefaultHeader:@"Accept" value:@"application/json"];
  [self.manager addResponseDescriptorsFromArray:@[...];
  [self.manager addRequestDescriptorsFromArray:@[...];
}

如果您找到更好的方法,请告诉我!

关于objective-c - 如何使用 RestKit 设置动态 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26523349/

相关文章:

ios - 发送到已释放实例的消息导致加载 UITableView 崩溃

html - Firefox <a download> 问题

asp.net - Firefox 和 IE : Corrupted data when retrieved from cache

python - 使用restkit时出现错误 "ImportError: cannot import name SimplePool"

ios - 预定的本地通知不规则

iphone - 如果我释放了NSMutableArray,那么如果它们的keepCount大于1,那么数组中的对象会发生什么?

objective-c - 我应该将我的事件指标发布声明放在 dealloc 中吗?

apache - 可以使用代理将请求 header 插入到 SSL/HTTPS 请求中吗?

iphone - Restkit 核心数据与 NSManagedObjectContext 集成

ios - 快速复制文件