Допустим, мне нужно сделать этот динамический запрос PUT: "http://mydomain.com/api/5?value=66"
Тело пусто. В ответ я получу статус 201 (Создано), а в теле я верну json-объект, назовем его MyObject с полями NSNumber* Id, NSString* name;
Теперь в рестките у меня есть такие варианты:
- [[RKObjectManager sharedManager] putObject:nil mapResponseWith:MyMapping delegate:self];
MyMapping сопоставляет MyObject. Проблема в том, что если я отправляю nil, он не знает сопоставления и выдает «Невозможно найти маршрутизируемый путь для объекта типа «(null)» для HTTP-метода «PUT»».
- [[RKClient sharedClient] put:putUrl params:nil delegate:self];
где putUrl = "http://mydomain.com/api/5?value=66"
Проблема здесь в том, что для ответа нет сопоставления, поэтому вызывается только didLoadResponse, а didLoadObjects никогда не вызывается
[objectManager.router routeClass:[MyObject class] toResourcePath:putUrl forMethod:RKRequestMethodPUT];
MyObject *obj = [[MyObject alloc] init];
[[RKObjectManager sharedManager] putObject:obj mapResponseWith:MyMapping delegate:self];
Проблема здесь в том, что сначала я подделываю это (отправляю MyObject как параметр, а это не так), и это работает только в первый раз. во второй раз, когда я пытаюсь использовать этот метод, я получаю это исключение: «Маршрут уже зарегистрирован для класса« MyObject »и HTTP-метода« PUT »»
Любое предложение, что делать?
Спасибо