RestKit: несколько дескрипторов ответов для одного и того же пути и метода - PullRequest
0 голосов
/ 20 июня 2019

У меня есть веб-сервис GET, который я вызываю двумя разными способами: один раз с параметрами веб-службы и один раз без параметров.Хотя структура ответа в обоих случаях одинакова, ответ не совпадает.Я хочу отобразить результат в разных таблицах, однако я не могу этого сделать, поскольку RestKit не может их различить, ниже приведен дескриптор ответа при вызове веб-службы без каких-либо параметров запроса:

let advisorMapping = RKEntityMapping(forEntityForName: "Advisor", in: managedObjectStore)
advisorMapping?.identificationAttributes = ["id"]
advisorMapping?.addAttributeMappings(from: ["Id":"id","Name":"name","FirmName":"firmName"])
let advisorResponseDescriptor = RKResponseDescriptor(mapping: advisorMapping, method: .GET, pathPattern: "advisors", keyPath: nil, statusCodes:nil )
objectManager?.addResponseDescriptor(advisorResponseDescriptor)

И когда я вызываю один и тот же веб-сервис с использованием параметров запроса, я использую:

let advisorFilterMapping = RKEntityMapping(forEntityForName: "AdvisorFilter", in: managedObjectStore)
advisorFilterMapping?.identificationAttributes = ["id"]
advisorFilterMapping?.addAttributeMappings(from:    ["Id":"id","Name":"name","FirmName":"firmName"])
let advisorFilterResponseDescriptor = RKResponseDescriptor(mapping:advisorFilterMapping, method: .GET, pathPattern: "advisors?", keyPath: nil, statusCodes:nil )
objectManager?.addResponseDescriptor(advisorFilterResponseDescriptor)

Однако RKResponseDescriptor не дифференцируется для двух вышеуказанных сопоставлений, и мои данные из второго веб-сервиса получаютвставлен в первую таблицу.Любая помощь с благодарностью.

...