假设我必须执行此动态 PUT 请求:“http://mydomain.com/api/5?value=66”
身体是空的。我将返回一个 201(已创建)状态,并且在正文中我将返回一个 json 对象,我们称它为 MyObject,它具有字段 NSNumber* Id、NSString* 名称;
现在在 restkit 我有这些选项:
- [[RKObjectManager sharedManager] putObject:nil mapResponseWith:MyMapping delegate:self];
MyMapping 映射 MyObject。问题是,如果我发送 nil,它不知道映射并抛出“无法为 HTTP 方法 'PUT' 找到类型为 '(null)' 的对象的可路由路径”
- [[RKClient sharedClient] put:putUrl params:nil delegate:self];
这里putUrl = "http://mydomain.com/api/5?value=66"
的问题是响应没有映射,所以只有 didLoadResponse 被回调,而 didLoadObjects 从未被调用
[objectManager.router routeClass:[MyObject class] toResourcePath:putUrl forMethod:RKRequestMethodPUT];
MyObject *obj = [[MyObject alloc] init];
[[RKObjectManager sharedManager] putObject:obj mapResponseWith:MyMapping delegate:self];
这里的问题是,首先我伪造了它(将 MyObject 作为参数发送,而它不是),它只在第一次工作。我第二次尝试使用此方法时遇到此异常:“已为类 'MyObject' 和 HTTP 方法 'PUT' 注册了路由”
有什么建议该怎么做吗?
谢谢