RestKit ios - put - json而不是表单编码

goa*_*ane 13 rest json objective-c ios restkit

我正在编写一个ios应用程序,它使用restkit通过Rest with JSON与Web服务器进行通信

我能够使用[[RKObjectManager sharedManager] loadObjectsAtResourcePath:path delegate:self]从我的Web服务获取对象作为JSON,将其映射到obj-c对象,它工作正常

现在我正在尝试使用:[[RKObjectManager sharedManager] putObject:obj delegate:self]; 并且此调用将对象作为编码的表单发送到Web服务,而不是JSON

所以我的问题是:如何配置sharedManager(或routeur?)发送内容类型JSON而不是表单编码.

任何代码示例非常感谢.

谢谢!

Eva*_*ell 9

最简单的方法是在初始化对象管理器时简单地设置属性,如下所示:

RKObjectManager* objectManager = [RKObjectManager objectManagerWithBaseURL:@"http://url.com"];
objectManager.serializationMIMEType = RKMIMETypeJSON;
Run Code Online (Sandbox Code Playgroud)

  • 从RestKit v0.20开始使用`objectManager.requestSerializationMIMEType = RKMIMETypeJSON;` (9认同)

goa*_*ane 1

好吧,刚刚找到了如何做到这一点:

子类 RKRouter.h 或仅更改 RKDynamicRouter.m

return [object propertiesForSerialization];
Run Code Online (Sandbox Code Playgroud)

[RKJSONSerialization JSONSerializationWithObject:[object propertiesForSerialization]];
Run Code Online (Sandbox Code Playgroud)

和 RestKit 为 putObject 调用生成 JSON