Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json RestKit-POST请求时正文内容不正确_Json_Restkit_Restkit 0.20 - Fatal编程技术网

Json RestKit-POST请求时正文内容不正确

Json RestKit-POST请求时正文内容不正确,json,restkit,restkit-0.20,Json,Restkit,Restkit 0.20,我正在尝试使用[RKObjectManager sharedManager]postObject方法发布以下JSON: { "SerialNumber":"123XYZ" } 但我的web服务收到: { "docs\/:docId\/serials":{"SerialNumber":"123XYZ"} } 其中,“docs\/:docId\/serials”是传递到[RKObjectManager sharedManager]postObject方法的路径参数,指定web服务方

我正在尝试使用
[RKObjectManager sharedManager]postObject
方法发布以下JSON:

{
   "SerialNumber":"123XYZ"
}
但我的web服务收到:

{
   "docs\/:docId\/serials":{"SerialNumber":"123XYZ"}
} 
其中,
“docs\/:docId\/serials”
是传递到
[RKObjectManager sharedManager]postObject
方法的
路径
参数,指定web服务方法所需的路径

有人知道为什么要在发布的正文内容中包含这些额外的路径数据吗

来自基于NSObject的类的映射似乎工作正常,正确的序列号被传递到JSON中。我已经将RKObjectManager设置为在请求上使用MIME类型的JSON,使用下面的代码,这样做没有任何意义,不是吗

objectManager.requestSerializationMIMEType = RKMIMETypeJSON;
任何线索都将不胜感激,如果需要,我也会很乐意发布更多的代码


提前谢谢。

啊,当然在发布这篇文章5分钟后,我找到了这个问题的相对明显的原因

为该操作设置我的
RKRequestDescriptor
时,我在
rootKeyPath
参数中传递web服务方法的路径,认为RestKit需要它作为键,以便在稍后调用
postObject
方法时找到该描述符

但是,当我从
rootKeyPath
参数中删除web服务路径时,它也从
POST
主体中消失

RKRequestDescriptor *addSerialRequestDescriptor = [RKRequestDescriptor requestDescriptorWithMapping:addSerialRequestMapping objectClass:[Serial class] rootKeyPath:nil method:RKRequestMethodPOST];
我现在意识到我在
RKRequestDescriptor requestDescriptorWithMapping:
方法中得到了rootKeyPath参数,与
RKResponseDescriptor responseDescriptorWithMapping:
方法中的pathPattern参数混在一起,这(我理解为RestKit)不需要将web服务方法的路径传递给它

希望有一天这能帮助别人,并为浪费别人的时间而道歉