【问题标题】:How to send the form data type request using Restkit如何使用 Restkit 发送表单数据类型请求
【发布时间】:2016-05-01 16:41:55
【问题描述】:

数据格式:

{
    "firstName": "arun",
    "lastName": "kumar",
    "contactInfo": {
        "email": "ak7896@gmail.com"
    },
    "password": "abcdefg"
}

以上是我的注册请求结构。除了data 键,我还有一个用于profilepic 图像的键,名为“main”。目前,我正在创建的请求字典中使用 RestKit,如下所示:

[RKObjectManager sharedManager] postObject:self path:self.path_api parameters:@"data":@{                                                                       @"firstname":firstname, @"lastname":lastname, @"contactInfo": @{@"email":emailID}, @"password":pass}
                                                                            @"main": @{@"profileImage": profilePic? profilePic : nil}

但它会抛出错误 500。我认为我在这里创建的字典不正确。

任何建议都会对我很有帮助。

提前致谢

【问题讨论】:

  • 您还没有告诉我们实际发送了什么或服务器期望什么,new 需要知道这两者,以及服务器在错误中返回的任何其他详细信息
  • { URL: myURL} { 状态码: 500, headers { Connection = close; “内容长度”= 22; “内容类型”=“文本/html;字符集=utf-8”;日期 =“星期日,2016 年 5 月 1 日 16:54:55 GMT”;服务器 = "Apache/2.4.7 (Ubuntu)"; Vary = "接受编码,用户代理"; “X-Content-Type-Options”= nosniff; “X-Powered-By”=快递; } }, NSLocalizedDescription=(200-299) 中的预期状态码,得到 500}
  • 如何使用restkit创建带有表单数据的上述请求结构,即如何创建像我上面的请求结构一样的多表单请求。
  • 您的问题显示的是 JSON,而不是表单
  • 数据 { "firstName": "arun", "lastName": "kumar", "contactInfo" : { "email": "ak7896@gmail.com"},"password": "abcdefg "} main *注意 - 上面的输入是表单数据格式,其中“数据”和“主”是键。

标签: ios objective-c restkit


【解决方案1】:

您的字典似乎格式不正确,应该是这样的

[[RKObjectManager sharedManager] postObject:self path:self.path_api parameters:@{@"data":@{@"firstname":firstname, @"lastname":lastname, @"contactInfo": @{@"email":emailID}, @"password":pass}, @"main": @{@"profileImage": profilePic? profilePic : nil}}];

如果不需要数据键,应该是

[[RKObjectManager sharedManager] postObject:self path:self.path_api parameters:@{@{@"firstname":firstname, @"lastname":lastname, @"contactInfo": @{@"email":emailID}, @"password":pass}, @"main": @{@"profileImage": profilePic? profilePic : nil}}];

【讨论】:

  • 我的请求如下所示: request.body : @{ @"name":@{@"firstname":firstname, @"lastname":lastname}, @"contactInfo": @{ @"email":emailID}, @"password":pass } 但在服务器端,它需要以下形式的数据: request.body.data : @{ @"name":@{@"firstname":firstname, @" lastname":lastname}, @"contactInfo": @{@"email":emailID}, @"password":pass } 现在使用表单数据我不知道如何构造这个请求。
  • 那么你应该使用这个方法发送表单数据multipartFormRequestWithObject:method:path:parameters:constructingBodyWithBlock
  • 我目前使用的是相同的,但需要将请求正文作为 request.body.data 发送,其中数据是表单数据字典之一的关键。
  • 你检查过 github 上的文档吗?检查此链接github.com/RestKit/…
  • 已经有任何表单数据在正文中发送,您不需要将对象添加到正文键中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-25
  • 1970-01-01
  • 1970-01-01
  • 2017-02-11
  • 1970-01-01
  • 2018-11-10
  • 2012-07-28
相关资源
最近更新 更多