【问题标题】:How to add custom header to AFNetworking on a JSONRequestOperation如何在 JSONRequestOperation 上向 AFNetworking 添加自定义标头
【发布时间】:2013-02-14 23:21:34
【问题描述】:

您好,我有以下代码访问 URL:

NSString * stringURL = [NSString stringWithFormat:@"%@/%@/someAPI", kSERVICE_URL, kSERVICE_VERSION];
NSURLRequest * request = [NSURLRequest requestWithURL:[NSURL URLWithString:stringURL]];

AFJSONRequestOperation * operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
    completionHandler(JSON, nil);
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {
    completionHandler(nil, error);
}];

但我想将用户令牌作为参数传递给HEADER,例如X-USER-TOKEN

AFNetworking documentation上找不到,要不要改操作类型?

【问题讨论】:

    标签: ios objective-c json afnetworking nsurlrequest


    【解决方案1】:

    我这样做了:)

    [manager.requestSerializer setValue:[NSString stringWithFormat:@"Token token=\"%@\"", _userObj.oAuth] forHTTPHeaderField:@"Authorization"];
    

    【讨论】:

    • 获取错误选择器'setValue:forHTTPHeaderField'的未知实例方法
    【解决方案2】:

    如果你有一个抽象层,比如说 APIManager, 那么您应该在特定方法中执行以下操作

     [[HTTPClient sharedHTTPClient].requestSerializer setValue:YOUR_KEY forHTTPHeaderField:@"X-Register"];
    

    【讨论】:

      【解决方案3】:

      使用AFHTTPClient 或子类化它!

      您可以像这样使用-setDefaultHeader:value: 设置默认标题:

      [self setDefaultHeader:@"X-USER-TOKEN" value:userToken];
      

      您可以查看documentation

      【讨论】:

      • 对于 AFN 版本 2.x 和 AFHTTPRequestOperationManager,您可以这样做:[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
      【解决方案4】:
      NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url];
      
      [request setValue: @"X-USER-TOKEN"  forHTTPHeaderField:@"< clientToken >"];
      
      [AFJSONRequestOperation JSONRequestOperationWithRequest: request ...]
      

      【讨论】:

      • 我认为是相反的吧? HTTPHeaderField 上的 X-USER-TOKEN
      • 也许 ;)。不知道X-USER-TOKEN是变量值还是字段名
      • 现在是 addValue,而不是 setValue :)
      猜你喜欢
      • 2019-09-12
      • 2019-02-19
      • 1970-01-01
      • 1970-01-01
      • 2021-12-23
      • 2014-03-14
      • 2013-10-28
      • 2013-05-15
      • 2012-11-15
      相关资源
      最近更新 更多