POSTパラメータにjsonを渡す必要があります。 入力paramsが次のようになります。parse json data
{ "type":"facebook",
"friends":[{ "id": "facebook id", "avatar": "url to avatar image", "first_name" : "first_name", "last_name" :"last_name"}] }
サーバーの応答エラーはそれが悪いリクエストパラメータ
Error - code: 400, message: {"status":"bad request","message":"undefined method `each' for #<String:0x00000005473e48>"}
私は「友人」の部分でJSONデータを準備するとき、それは誤った可能性があります述べています。あなたは私のレビューを助けることができますか?
は、ここで私はあなたが求めるものを理解している場合、私はわからないんだけど、私のコード -
{
NSMutableArray *aFriends = [[NSMutableArray alloc] init];
int nCount = [[self savedSelIndexPath] count];
for (int i = 0; i < nCount && nCount > 0; i++)
{
NSIndexPath *path = [[self savedSelIndexPath] objectAtIndex:i];
NSDictionary *data = nil;
NSString *key = [[self keysArray] objectAtIndex:path.section];
NSArray *nameSection = [[self listContentDict] objectForKey:key];
data = [nameSection objectAtIndex:[path row]];
NSDictionary *dictFriends = [NSDictionary dictionaryWithObjectsAndKeys:
[data objectForKey:@"id"], @"id",
[data objectForKey:@"picture"], @"avatar",
[data objectForKey:@"first_name"], @"first_name",
[data objectForKey:@"last_name"], @"last_name",
nil];
[aFriends addObject:dictFriends];
dictFriends = nil;
}
DLog(@"aFriends: %@", aFriends);
NSDictionary *teamProfile = [[Global sharedGlobal] getPlistFile];
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
@"facebook", @"type",
aFriends, @"friends", nil];
DLog(@"params: %@", params);
NSString *sPath = [NSString stringWithFormat:@"https://stackoverflow.com/users/%@/friends", [teamProfile valueForKey:@"userId"]];
NSMutableURLRequest *request = [[[Global sharedGlobal] httpClient] requestWithMethod:@"POST" path:sPath parameters:params];
DLog(@"request: %@", request);
….
[aFriends release];
}
ありがとうございます。私はSBJSON&AFNetworkingを使っていることを忘れてしまった。 httpClientのパラメータエンコーディングをAFJSONParameterEncodingに設定すると、問題が解決されます。 –