Отправить данные HTTPBody с помощью restkit - PullRequest
2 голосов
/ 13 февраля 2012


Я использую инструмент Firefox, который называется «Плакат», чтобы проверить, работает ли мой веб-сервис. Когда я POST запрос, я отправляю объект JSON в содержимом для отправки (также вызовите данные тела HTTP ).
Когда я нажимаю кнопку POST, результат в порядке. enter image description here

Теперь я хочу сделать то же самое с RestKit в target-c:

    NSString *squery = @"{\"Sort\":\"Relevance\",\"DaysToSearch\":0,\"WorkType\":\"\",\"PageSize\":20,\"LastRunCount\":0,\"IndustryCodes\":[\"\"],\"AccountId\":27,\"Experience\":\"\",\"GetResultCount\":0,\"Keywords\":\"iOS\",\"PageIndex\":0,\"DistanceFromLocation\":\"250\",\"SalaryType\":\"\",\"JobQueryId\":\"\",\"JobTitleCodes\":[\"\"]}";

RKObjectLoader *objectLoader = [[RKObjectManager sharedManager] objectLoaderWithResourcePath:url delegate:performJobQueryHandler];
objectLoader.method = RKRequestMethodPOST;
objectLoader.objectMapping = s.jobQueryDataMapper;
objectLoader.HTTPBody = [squery dataUsingEncoding:NSUTF8StringEncoding];
objectLoader.serializationMIMEType = RKMIMETypeJSON;
[objectLoader send];

В результате я получаю: «Произошло исключение, не связанное с ошибкой».




В расширении Firefox «Плакат», если я использую шахтный тип, отличный от «application / json», скажем, «application / x-www-form-urlencoded», я получаю ту же ошибку: «Возникла исключительная ситуация, не связанная с ошибкой. "
Что-то не так с objectLoader.serializationMIMEType = RKMIMETypeJSON; ???

Мартин Магакян

1 Ответ

3 голосов
/ 14 февраля 2012

Хорошо, я думаю, что узнаю.

Я активировал отладку RestKit с помощью

RKLogConfigureByName ("RestKit / Network", RKLogLevelTrace);

И я получаю:

* * 1010

Так что я думаю, что использование объекта RKObjectLoader не волнует objectLoader.serializationMIMEType = RKMIMETypeJSON; поскольку Content-Type остается "Content-Type" = "application / x-www-form-urlencoded"; вместо "Content-Type" = "application / json";

Как вы думаете, это ошибка или нормальное поведение?

...