【问题标题】:RestKit add custom header for all requests?RestKit 为所有请求添加自定义标头?
【发布时间】:2016-04-07 12:34:03
【问题描述】:

我正在为我的 iOS 应用程序使用 RestKit
我想为 all 请求添加一个自定义标头。

是否可以在一个地方添加一个标头并让我的所有 RestKit 请求都使用它?如果是这样,我在哪里添加代码?
如果没有 - 我是否必须为我提出的每个请求添加一个标头?

【问题讨论】:

    标签: ios request 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];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-09-25
        • 1970-01-01
        • 1970-01-01
        • 2013-11-13
        • 2012-06-16
        • 1970-01-01
        • 2023-03-12
        相关资源
        最近更新 更多