POST 中的 Restkit url 映射

Posted

技术标签:

【中文标题】POST 中的 Restkit url 映射【英文标题】:Restkit url mapping in POST 【发布时间】:2015-04-02 17:58:49 【问题描述】:

我想发布此 URL 文档/:ID/重新发送 和正文请求


  "resend":
    "email": "foo@example.com"
  

和回应


   "result":
      "code": "123",
      "message": "foo"
   

我做了我的请求和响应描述符和这条路线:

RKRoute *documentResendRoute = [RKRoute routeWithClass:[LDocument class]
                                         pathPattern:@"documents/:ID/resend"
                                              method:RKRequestMethodPOST];

当我发布文档对象时

[[RKObjectManager sharedManager] postObject:self
                                       path:@"documents/:ID/resend" 
                                 parameters:queryParams
                                    success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) 
                                        //success code
                                     failure:^(RKObjectRequestOperation *operation, NSError *error) 
                                        //failure code
                                    ];

Restkit 不会映射 URL 中的 :ID。它应该会产生类似“documents/880/resend”的结果,但在日志中我可以看到“documents/:ID/resend”并且调用失败。

LDocument 具有 ID 属性。

我错过了什么?或者我该怎么做?

谢谢,亚历杭德罗

【问题讨论】:

【参考方案1】:

当你调用postObject 时,你不应该指定路径,如果你这样做,路由器将不会被使用并且参数不会被注入。只需将路径设置为 nil。

【讨论】:

以上是关于POST 中的 Restkit url 映射的主要内容,如果未能解决你的问题,请参考以下文章

使用 RESTKit 将 url 参数映射到对象

RestKit 不喜欢为 POST 响应映射不同的对象

使用 RestKit 将一个裸露的 URL 数组映射到核心数据实体

RestKit POST 发送 JSON 不包含映射路径/类名

使用 RestKit 映射的 JSON Post 后 TableView 不刷新

RestKit 对象映射 POST 响应,“CoreData:错误:在 NSManagedObject 类映射操作上调用指定初始化程序失败”