Порядок параметров в сообщении в RestKit

#ios #post #restkit

#iOS #Публикация #набор для отдыха

Вопрос:

Я успешно настроил RestKit, чтобы я мог отправлять сообщения POST на устройство, с которым я работаю.

Я подтвердил, что при использовании Chrome Postman формат сообщения является правильным.

Мне нужно отправить……

id= 87654321amp;content={«ts»:1396215675,»полезная нагрузка»:{«ssid_pass»: «бла»}}amp;t = 12345678

Итак, в почтальоне Chrome он выходит правильно. Но когда я использую RestKit postObject

 [manager postObject:self path:@"/tom" parameters:@{@"id" : K_IDVALUE,   @"content": myPayload, @"t":K_TVALUE, }  success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    NSLog(@"Successful Post!");
 

Порядок, который видит устройство, неверен. Он видит

content={«ts»: 1396215675,»полезная нагрузка»:{«ssid_pass»: «бла»}}amp;id=87654321amp;t = 12345678

Устройство действительно хочет, чтобы содержимое находилось между тегами id и t запроса POST. Есть ли способ заставить RestKit принимать параметры как есть? Похоже, что сообщение размещается в алфавитном порядке (что, я полагаю, происходит при сериализации).

Комментарии:

1. Сервер не должен заботиться о порядке параметров. Если это произойдет, вы можете поделиться кодом сервера, и мы можем взглянуть на это.

2. Это встроенное устройство (а не веб-сервер как таковой), и в данном случае порядок имеет значение в зависимости от того, как его написал встроенный программист.

Ответ №1:

Есть ли способ заставить RestKit принимать параметры как есть?

Что вы передаете в RestiKit:

 @{@"id" : K_IDVALUE, … }
 

это a NSDictionary , который не имеет понятия о порядке его элементов.

Тогда ваш единственный шанс состоит в том, что RestKit использует указанное вами сопоставление для определения порядка ключей. Я не могу сейчас проверить источники RestKit, чтобы подтвердить эту гипотезу, но вы могли бы просто попробовать (или просто проверить, каков ваш текущий порядок отображения).

Комментарии:

1. Спасибо за указатель. Я изучу, как RestKit выполняет сопоставление, и вернусь ко всем. Ценю это.