2015-11-25 94 views
0

我想使用restkit putobject發送放置請求,並從服務器接收響應爲200和字符串,但服務器給我400和說不接收主體。 請求是 請求:https://myserver.com/api/v1/f1/ /更新 體= 「someValue中」 響應是200 「someValue中」服務器沒有從webservice調用restkit接受body對象

此我有restkit implment 請求https://myserver.com/api/v1 路F1 //更新

這裏是代碼

RKObjectMapping *responseMapping = [RKObjectMapping mappingForClass:[ModelUpdate class]]; 
[responseMapping addPropertyMapping:[RKAttributeMapping attributeMappingFromKeyPath:nil toKeyPath:@"status"]]; 

RKResponseDescriptor *responseDescriptor = 
[RKResponseDescriptor responseDescriptorWithMapping:responseMapping 
              method:RKRequestMethodPUT 
             pathPattern:path 
              keyPath:nil 
             statusCodes:[NSIndexSet indexSetWithIndex:200]]; 
*objectPath=path; 
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:[responseMapping inverseMapping] objectClass:[ModelUpdate class] rootKeyPath:nil method:RKRequestMethodAny]; 

[rkObjectManager addResponseDescriptor:responseDescriptor]; 
[rkObjectManager addRequestDescriptor:requestDescriptor]; 
rkObjectManager.requestSerializationMIMEType = RKMIMETypeJSON; 
[rkObjectManager putObject:someObj path:path parameters:nil success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) { 

    id updateField = mappingResult.array; 
    [sDFWebInterface->m_DFWebInterfaceData receiveResponse:updateField forRequestNo:requestNo error:nil]; 
    NSLog(@"Success"); 

} failure:^(RKObjectRequestOperation *operation, NSError *error) { 
    NSLog(@"Error from server in Put Request"); 
    [sDFWebInterface HandleServerAPIError:requestNo :error]; 
}]; 
    /////Modelupdate class 
@interface ModelUpdate : NSObject 
@property(nonatomic,strong)NSString* status;// : 

    @end 
+0

那麼服務器接收什麼是身體,你期望它接收什麼?什麼是'someObj'? – Wain

+0

someobj基本上是一個字符串對象someobj =「newvalue」 – jatin

回答

0

您的請求描述符指定objectClass:[ModelUpdate class],所以它只會在您提供o類ModelUpdate的項目。

someobj basically a string object someobj="new value"與規範不匹配,所以請求將不會被處理。您應該在日誌中看到有關該錯誤的錯誤。

如果你只是想發送一個簡單的字符串,並在響應中獲得一個簡單的字符串,那麼你並不需要RestKit。如果你想處理字符串進出ModelUpdate那麼你需要提供一個合適的實例。

+0

如果我們想putobject作爲字符串對象並接收一個字符串對象,它可能與rest套件或不是。我們可以使用[NSNull null]嗎? – jatin

+0

一個簡單的字符串本身並不是有效的JSON,所以沒有。如果你創建了你自己的序列化,但這不僅僅是提出請求更多的努力... – Wain

+0

我繼續你的建議,並直接使用AFNetworking Http客戶端在這種情況下,我們沒有得到JSON響應。 – jatin

相關問題