web-dev-qa-db-fra.com

Comment définir le type de contenu dans AFnetworking

J'ai des problèmes avec AFNetworking. Je ne peux pas définir content-type à application/json. Comment puis-je faire? j'essaye beaucoup de solution, mais personne n'a travaillé. voici votre code:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
  if (self.enableBasicAuth){
    [manager setRequestSerializer:[AFHTTPRequestSerializer serializer]];
    [manager.requestSerializer setAuthorizationHeaderFieldWithUsername:[[SOWMerchant merchant]     username] password:[[SOWMerchant merchant] password]];
  }
  [manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
  manager.responseSerializer = [AFJSONResponseSerializer serializer];
  [manager POST:[NSString stringWithFormat:@"%@", url] parameters:postData success:^(AFHTTPRequestOperation *operation, id responseObject) {
    [self onSuccessResponse:responseObject request:operation];
  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    [self onError:error request:operation];
  }];

Je reçois cette réponse

{ URL: https://sbengtest.spotonway.com:9099/v1.0/merchant/check }, response: <NSHTTPURLResponse:  0x10aa20530> { URL: https://sbengtest.spotonway.com:9099/v1.0/merchant/check } { status code: 400,     headers {
Connection = "keep-alive";
"Content-Length" = 192;
"Content-Type" = "text/html";
Date = "Sun, 20 Jul 2014 22:34:59 GMT";
Server = "nginx/1.2.1";
} }>

METTRE À JOUR:

j'essaye d'ajouter ceci

AFJSONRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];

[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];

operationManagerInstance.requestSerializer = requestSerializer;

mon crash d'application

MISE À JOUR 2: cela fonctionne. j'ai supprimé cette ligne

[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
19
crox

Cela a fonctionné pour moi!

[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
10
thatzprem

Ce code fonctionne

objectif c

manager.responseSerializer.acceptableContentTypes=[NSSet setWithObject:@"text/html"];

Swift

manager.responseSerializer.acceptableContentTypes=NSSet (object: "text/html") as Set<NSObject>
6
kalpesh satasiya