我正在尝试让RestKit为我PATCH
对象服务器中的字段发送一个空值。
我有一个我发送的对象,我更改了请求中的assigned_to_id
{"request":{"title":"Asdad", "status":"open", "assigned_to_id": 4}}
request
是NSManagedObject
而assigned_to_id
是NSNumber
但是,当我想取消分配请求时,我会执行:
request.assigned_to_id = [NSNull NULL];
然后RestKit将请求发送为:
{"request":{"title":"Asdad", "status":"open"}}
它不包含assigned_to_id,因为它的值为NULL。有办法防止这种情况吗?我希望发送:
{"request":{"title":"Asdad", "status":"open", "assigned_to_id": null }}
===更新===
在做了一些初步研究之后,我发现你可以使用setDefaultValueForMissingAttributes
,但它似乎并没有帮助,因为它还没有正确发送。
RKObjectMapping *updateMapping = [RKObjectMapping requestMapping];
updateMapping.setDefaultValueForMissingAttributes = YES;
updateMapping.setNilForMissingRelationships = YES;
[updateMapping addAttributeMappingsFromArray:@[@"title", @"assigned_to_id", @"status"]];
答案 0 :(得分:0)
我不认为这是最好的解决方案,但是......
assigned_to_id
默认值为0,因此当请求变为未分配时,我会发送以下PATCH
请求:
{"request":{"title":"Asdad", "status":"open", "assigned_to_id": 0 }}
然后我使用API逻辑来取消分配请求。
如果有人想出如何使用参数NULL
发送RestKit请求,请告诉我们!