2014-02-16 43 views
3

我用POST請求一些東西,服務器只發送一個內容長度爲0的狀態碼200。我該如何處理?我不允許在沒有映射的情況下添加RKResponseDescriptor,也不允許添加RKResponseDescriptor。RestKit:如何處理空的response.body?

+0

非常類似的問題在這裏與類似的答案:http://stackoverflow.com/questions/21830144/ios-and-restkit-how-to-get-a-text-html-response-right/43682106#43682106我的答案也適用於當前的問題:)如果響應是空的,也許你應該直接使用AFNetworking,因爲不需要映射。 – GabLeRoux

回答

10

啊,我剛剛發現,你可以創建適用於NSNull類的映射。這似乎工作。這裏的代碼:

{ 
     RKObjectMapping* responseMapping = [RKObjectMapping mappingForClass:[NSNull class]]; 
     RKResponseDescriptor* response = 
     [RKResponseDescriptor responseDescriptorWithMapping:responseMapping 
                method:RKRequestMethodAny 
               pathPattern:@"entry/sync" 
                keyPath:nil 
               statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]; 

     [restObjectManager addResponseDescriptor:response]; 
    } 

請告訴我,如果這是正確的方式。

+0

是的,它的作品,感謝您的幫助 –

+0

這也爲我工作,但由於服務器在返回空**純文本/ **反應,我不得不註冊此MIME類型這樣的串行:'[RKMIMETypeSerialization的registerClass:[RKNSJSONSerialization類] forMIMEType:@「text/plain」];'在AppDeletegate.m'中。由於答案是空的,'RKNSJSONSerialization'工作得很好。 – GabLeRoux