2013-08-27 2 views
0

이미 Restkit에서 POST를 사용하여 정상적으로 작동하고 있습니다. 하지만 나는 Restkit의 POST와 PUT의 차이점을 모른다. 방금 메서드 유형을 "PUT"으로 변경했습니다. 하지만 내 매개 변수가 Webservice로 보내지 않습니다.PUT Method in RestKit 0.20.2 in iphone

다음은 내 코드입니다. POST와 동일한 코드가 나와 작동합니다.

AFHTTPClient *client = [AFHTTPClient clientWithBaseURL:URL]; 
[client setDefaultHeader:@"Authorization" value:[DSUserDefaults user].accessToken]; 

NSDictionary *prefDict=[NSDictionary dictionaryWithObjectsAndKeys: @"",@"COMPANY_ID" ,@"",@"JOBTITLE",@"2",@"JOBTYPE" ,@"San Franscisco, US",@"LOCATION", nil]; 
NSLog(@"prefDict %@",prefDict); 

NSMutableURLRequest *request = [client requestWithMethod:PUT path:@"" parameters:prefDict]; 
[request setURL:URL]; 
[request setTimeoutInterval:60.0]; 
[request setHTTPMethod:PUT]; 
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
[AFHTTPRequestOperation addAcceptableStatusCodes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(100, 500)]]; 

[operation setCompletionBlockWithSuccess: ^(AFHTTPRequestOperation *operation, id responseObject) { 
    NSLog(@"operation.responseString: %@", operation.responseString); 

    NSData *data =[operation.responseString dataUsingEncoding:NSUTF8StringEncoding]; 
    } 

"텍스트"데이터를 요청하는 방법. 사전으로 보낼 필요가 없습니다.

답변

1

PUT과 POST는 RestKit에서 다른 설정이 아니며 전송되는 URL 요청에 전달되는 다른 HTTP 업로드 유형 설정입니다. 따라서 서버에서 처리합니다. 서버가 처리하도록 구성되지 않은 경우 예상되는 기능을 얻을 수 없습니다. GET 및 POST는 비교적 일반적이므로 PUT은 덜 일반적이므로 서버 구현에서 다루지 않을 수 있습니다.

POST, PUT 및 GET에 대한 자세한 내용은 here을 참조하십시오.

+0

감사합니다. 확실히 당신의 대답은 정확합니다. httpbody 데이터에 텍스트 원시 데이터를 게시하는 솔루션을 얻었다. – user1120998