База данных попыток вставить нулевые значения при отправке запроса на почту в WebService через RESTKIT
-
20-12-2019 - |
Вопрос
Когда я делаю запрос на мой веб-сервис, сгенерирована следующая ошибка:
Tinytds :: Ошибка: Не удается вставить значение NULL в столбец «BankCD», таблица 'slotsmasterdata.master.bank';столбец не позволяет нулю.
Консоль сервера отображает следующее:
Из приведенного выше вы можете видеть, что значения существуют для всех атрибутов моего банка объекта, но вдруг ссылка на каждый - это нулевой, когда выполняется «Выбор литой (идентификация области () ...».
Это мой код приложения:
RKObjectManager *objectManager = [RKObjectManager managerWithBaseURL:[NSURL URLWithString:basePathToWebService]];
RKObjectMapping *bankMapping = [RKObjectMapping mappingForClass:[Banks class]];
NSDictionary *attributeMappingDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
@"BankID", @"bankID",
@"BankCD", @"bankCD",
@"BankName", @"bankName",
@"InsertSourceKey", @"insertSourceKey",
@"UpdateSourceKey", @"updateSourceKey",
@"Active", @"active",
nil];
[bankMapping addAttributeMappingsFromDictionary:attributeMappingDictionary];
RKObjectMapping *bankRequestMapping = [RKObjectMapping requestMapping];
[bankRequestMapping addAttributeMappingsFromDictionary:attributeMappingDictionary];
RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:bankMapping method:RKRequestMethodAny pathPattern:@"/banks" keyPath:nil statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];
RKRequestDescriptor *requestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:bankRequestMapping objectClass:[Banks class] rootKeyPath:nil method:RKRequestMethodAny];
[objectManager addResponseDescriptor:responseDescriptor];
[objectManager addRequestDescriptor:requestDescriptor];
[RKMIMETypeSerialization registerClass:[RKNSJSONSerialization class] forMIMEType:@"text/plain"];
//Post
[objectManager postObject:bank path:@"/banks" parameters:nil success:nil failure:nil];
.
Почему попытка вставить нулевые значения?Как я могу это исправить?Спасибо за вашу помощь!
Решение
bankRequestMapping
должен быть объявлен как обратное отображение генеракодицетагкода.Как у вас есть в данный момент, имена параметров, кажется, неверно.Вы должны использовать Charles, чтобы проверить, что вы на самом деле отправляете, и это соответствует тому, что вы ожидаете.