0

RESTフルWebサービスを使用してアプリケーションを開発しています。この場合、putメソッドを使用してサーバーに送信される文字列などの問題があります。次のコードを使用しています。

NSMutableURLRequest* request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"http://176.31.113.164/app/profil/add"]];
    [request setValue:@"Digest adf@email.com:test" forHTTPHeaderField:@"Authorization"];
     [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
     [request setValue:@"application/json" forHTTPHeaderField:@"content-type"];
    //[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
    NSDictionary *dic=[[NSDictionary alloc]init ];
        dic=[NSDictionary dictionaryWithObjectsAndKeys:@"15",@"@idUsers",@"17",@"@idProfils",@"ddduu",@"address",@"ddd",@"city",@"ddd",@"country",@"adf@email.com <mailto:adf@email.com>",@"email",@"1",@"enabled",@"fff55",@"firstName",@"fffdd3",@"lastName",@"fffffcc",@"nickName",@"test",@"password",@"0",@"phone",@"0",@"postCode",@"ROLE_USER",@"role", nil];
    NSString *jsonString = [jsonWriter stringWithObject:dic];
     NSData *postData= [jsonString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
     [request setHTTPBody:postData];
        [request setHTTPMethod:@"PUT"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];

        NSURLConnection* _loginConnection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
     if (_loginConnection==NULL)
        {
            NSLog(@"Problem");
        }
    [_loginConnection start];

受信したデータは次のように処理されます。

NSString* tempString =[NSJSONSerialization 
                  JSONObjectWithData:_receivedData 

                  options:kNilOptions 
                  error:&error];
4

1 に答える 1

0

ASIHTTPラッパー クラスを使用して、iOS アプリケーションで REST 操作を実行できます。

ここから最新の ASIHTTP をダウンロードします。

于 2012-08-02T06:53:26.777 に答える