在RestKit上使用POST请求排除一些参数

时间:2014-06-13 09:20:42

标签: objective-c restkit restkit-0.20

我刚刚将RestKit与Mac应用程序集成,以便与Web服务进行通信。经过多次混淆,我成功地获得了使用它的请求和响应。

我现在发现的问题是,当我想发出POST请求时。

我创建了一个RKRequestDescriptor,其中包含一系列属性的映射,并且所有属性都作为查询的参数发送。我想要一种动态更改发送参数的方法,例如不发送属性为零的一些参数。

这是否可以作为RestKit内置功能的一部分?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:1)

您需要使用RestKit的动态映射类来处理运行时的映射。

  

<强> Dynamic Object Mapping

     

RestKit通过RKDynamicMapping类支持此类用例。   RKDynamicMapping是RKObjectMapping的兄弟类,可以   添加到RKRequestDescriptor和RKResponseDescriptor对象并使用   配置RKMappingOperation实例。 RKDynamicMapping允许你   挂钩映射过程并确定适当的具体   RKObjectMapping在每个对象的基础上使用。

或者您无法使用RestKit并自行设置POST正文。通过仅添加必需参数来创建所需的字典。在NSJSONSerialization的帮助下序列化此对象,并在请求实例中将此NSData对象设置为HTTP Body。