Impostare il tipo di contenuto della richiesta usando AFHTPREQUESTOPERATEROFERATIONSOFERATIONSOPERATIONISTORE?

StackOverflow https://stackoverflow.com//questions/24025469

  •  21-12-2019
  •  | 
  •  

Domanda

Ho tentato di parlare con un'API JSON su HTTP usando AFNetworking 2.0.Gli esempi che ho trovato consigliato l'uso del AFHTTPRequestOperationManager, quindi ho implementato il seguente pseudocodice:

manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://test-api.localdev/"]];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
params = @{
    @"username": @"Drarok",
    @"token": @"1234-abcd"
};
[manager GET:@"transactions" parameters:params success:[…] failure:[…]];
.

Sfortunatamente, sembra che il AFJSONRequestSerializer non sia (o forse può ) impostare il tipo di contenuto, e non sono in grado di trovare un modo per farlo manualmente.

Come tale, l'API rifiuta la mia richiesta con un errore "HTTP 415 non supportato Tipo".

Altri, domande simili sono causate dal server risposta non essere applicazione / json, ma questa domanda riguarda le intestazioni di richiesta.

È stato utile?

Soluzione

Questo è stato causato da un server API errato che asserisce che tutte le richieste avevano un'intestazione Content-Type: application/json.L'afnetworking eviterà correttamente l'impostazione di un'intestazione per HEAD, GET o richieste DELETE.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top