POST Request com AFNetworking 2.0 não está funcionando, mas trabalhando no testador HTTP Request
Acabei de começar a usar o novoAFNetworking 2.0
API tendo usado as versões anteriores por um tempo agora. Eu estou tentando fazer um pântano padrãohttp POST request
, mas infelizmente não estou indo muito bem. Este é o meu código atual:
AFHTTPRequestOperationManager *operationManager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"username" : self.usernameField.text,
@"password" : self.passwordField.text};
[operationManager POST:@"https:URL GOES HERE" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", [responseObject description]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
Agora isso retorna umJSON
do(NULL)
e não me dá um código de status como404
ou algo (por acaso, como podemos atingir o código de status ao usar o AFN 2.0?). No entanto, quando tento as informações com um aplicativo da Web comoapikitchen.com que testa oHTTP Post request
para mim, funciona quando eu coloco o nome de usuário e senha noparam
campo. Então, realmente minha pergunta é: por que nãoparameters
noAFN 2.0 parameter property
agir da mesma forma que oparameters
no aplicativo da web? E mais geralmente porque não são ospost request parameters
trabalhando para mimAFN 2.0
?
Obrigado pela ajuda antecipadamente,
Mike
EDITAR: Estou lutando com a implementação da correção sugerida. Meu método Post agora é assim, mas não faz sentido para mim agora.
AFHTTPRequestOperationManager *operationManager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"username" : self.usernameField.text,
@"password" : self.passwordField.text};
operationManager.requestSerializer.queryStringSerializationWithBlock =
^NSString*(NSURLRequest *request,
NSDictionary *parameters,
NSError *__autoreleasing *error) {
NSString* encodedParams = form_urlencode_HTTP5_Parameters(parameters);
return encodedParams;
};
[operationManager POST:@"URL HERE" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"JSON: %@", [responseObject description]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];