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服务方法的路径传递给它
希望有一天这能帮助别人,并为浪费别人的时间而道歉