Cómo agregar un encabezado personalizado a AFNetworking en un JSONRequestOperation

Hola, tengo el siguiente código para acceder a una 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); }]; 

Pero quiero pasar el token de usuario como un parámetro en HEADER , como X-USER-TOKEN .

No puedo encontrarlo en la AFNetworking documentation , ¿debería cambiar el tipo de operación?

¡Utiliza AFHTTPClient o subclass!

Puede configurar los encabezados pnetworkingeterminados con -setDefaultHeader:value: así:

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

Puede consultar la documentation

 NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:url]; [request setValue: @"X-USER-TOKEN" forHTTPHeaderField:@"< clientToken >"]; [AFJSONRequestOperation JSONRequestOperationWithRequest: request ...] 

Hice esto 🙂

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

Si tiene una capa de abstracción, digamos APIManager, entonces debe hacer lo siguiente dentro de un método particular

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