我刚刚将RestKit与Mac应用程序集成,以便与Web服务进行通信。经过多次混淆,我成功地获得了使用它的请求和响应。
我现在发现的问题是,当我想发出POST请求时。
我创建了一个RKRequestDescriptor,其中包含一系列属性的映射,并且所有属性都作为查询的参数发送。我想要一种动态更改发送参数的方法,例如不发送属性为零的一些参数。
这是否可以作为RestKit内置功能的一部分?如果是这样,怎么样?
答案 0 :(得分:1)
您需要使用RestKit的动态映射类来处理运行时的映射。
<强> Dynamic Object Mapping 强>
RestKit通过RKDynamicMapping类支持此类用例。 RKDynamicMapping是RKObjectMapping的兄弟类,可以 添加到RKRequestDescriptor和RKResponseDescriptor对象并使用 配置RKMappingOperation实例。 RKDynamicMapping允许你 挂钩映射过程并确定适当的具体 RKObjectMapping在每个对象的基础上使用。
或者您无法使用RestKit并自行设置POST正文。通过仅添加必需参数来创建所需的字典。在NSJSONSerialization
的帮助下序列化此对象,并在请求实例中将此NSData
对象设置为HTTP Body。