сервер не получает объект тела от вызова веб-службы restkit

Я хочу отправить запрос на размещение с помощью restkit putobject и получить ответ как 200 и строку от сервера, но сервер дает мне 400 и говорит, что не получает тело. Запрос есть запрос: https://myserver.com/api/v1/f1/ / update body = "somevalue" Ответ: 200 "somevalue"

для этого у меня есть запрос на внедрение ресткита https://myserver.com/api/v1 path 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

person jatin    schedule 25.11.2015    source источник
comment
Итак, что сервер получает как тело и что вы ожидаете от него? Что такое someObj?   -  person Wain    schedule 25.11.2015
comment
someobj в основном строковый объект someobj = newvalue   -  person jatin    schedule 25.11.2015


Ответы (1)


В вашем дескрипторе запроса указано objectClass:[ModelUpdate class], поэтому он будет использоваться только тогда, когда вы предоставите объект класса ModelUpdate.

someobj basically a string object someobj="new value" не соответствует спецификации, поэтому запрос не будет обработан. Вы должны увидеть ошибку об этом в журнале.

Если вы просто хотите отправить простую строку и получить простую строку в ответе, вам действительно не нужен RestKit. Если вы хотите обрабатывать строку, входящую и выходящую из ModelUpdate, вам необходимо предоставить соответствующий экземпляр.

person Wain    schedule 25.11.2015
comment
возможно ли это с остальным комплектом или нет, если мы хотим использовать putobject как строковый объект и получить строковый объект. мы можем использовать [NSNull null]? - person jatin; 26.11.2015
comment
Сама по себе простая строка недопустима в формате JSON, поэтому нет. Если вы создали свою собственную сериализацию, но это больше, чем просто запрос ... - person Wain; 26.11.2015
comment
Я продолжил ваше предложение и напрямую использовал клиент AFNetworking Http в этой ситуации, когда мы не получаем ответ JSON. - person jatin; 03.12.2015