Intentando publicar información para parámetros anidados en una aplicación de rieles y teniendo algunos problemas.Usar ASIHTTPRequest para POST parámetros anidados usando un NSDictionary
#pragma mark - Begin Network Operations
- (void)beginNetworkOperation {
NSURL *requestURL = [NSURL URLWithString:[self retrieveURL]];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:requestURL];
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_4_0
[request setShouldContinueWhenAppEntersBackground:YES];
#endif
[request setRequestMethod:@"PUT"];
[request addRequestHeader:@"Content-Type" value:@"application/json"];
[request addPostValue:strClientId forKey:@"client_id"];
[request addPostValue:strAccessToken forKey:@"access_token"];
NSDictionary *assetDictionary = [NSDictionary dictionaryWithObject:self.tags forKey:@"tags"];
[request addPostValue:assetDictionary forKey:@"asset"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestFinished:)];
[request setDidFailSelector:@selector(requestFailed:)];
[request startSynchronous];
}
self.tags es sólo un NSString con valores separados por comas, sin embargo una vez que llega el servidor rieles el parámetro de etiquetas no se puede leer (params [: activos] [: tags]).
He intentado esto haciendo [request addPostValue: [assetDictionary JSONRepresentation] forKey: @ "asset"]; y obtengo el mismo error en el servidor de rieles "TypeError (no se puede convertir Symbol en Integer)" que realmente parece no tener ningún sentido ... – Kyle
Tal vez sea por el comas en su cadena, porque los comas son el separador de JSON. Intenta reemplazar el comas en tu sting por otra cosa para ver si funciona usando - stringByReplacingOccurrencesOfString: withString: – MatLecu
Mis datos de prueba aún no contienen comas. – Kyle