首页 > 解决方案 > 如何在 POST 请求的 AFNetworking 4.0 中添加标头?

问题描述

我这样做是为了在 AFNetworking 4.0 中定义标头

      NSMutableDictionary *headers = [[NSMutableDictionary alloc]init];
      [headers setValue:[NSString stringWithFormat:@"Bearer %@",[defaults valueForKey:@"Token"]]  forKey:@"Authorization"];
      [manager POST:[NSURL URLWithString:path].absoluteString parameters:parameter headers:headers progress:nil success:^(NSURLSessionTask *task, id responseObject)
         { 

          }

这是 AFNetworking 4.0 中定义的新 POST 方法

    - (NSURLSessionDataTask *)dataTaskWithHTTPMethod:(NSString *)method
                                   URLString:(NSString *)URLString
                                  parameters:(nullable id)parameters
                                     headers:(nullable NSDictionary <NSString *, NSString *> *)headers
                              uploadProgress:(nullable void (^)(NSProgress *uploadProgress)) uploadProgress
                            downloadProgress:(nullable void (^)(NSProgress *downloadProgress)) downloadProgress
                                     success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                                     failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure
     { 

      }

这样做时,这向我显示错误“[<__NSDictionary0 0x10c62a870> setValue:forUndefinedKey:]:此类不符合键授权的键值编码。”

请告诉我正确的解决方案。

提前致谢。

标签: iosobjective-cafnetworking

解决方案


我现在使用 AFN 4.0,但我也在管理器上添加了标题,如下所示:

AFHTTPSessionManager *sessionManager = [AFHTTPSessionManager manager];    
[sessionManager.requestSerializer setValue:bearerToken forHTTPHeaderField:@"Authorization"];

and GET/POST/PUT/DELETE header I send @{} to backend

我希望我能帮助你


推荐阅读