【问题标题】:How would I send a PUT request with the following information using AFNetWorking?如何使用 AFNetWorking 发送包含以下信息的 PUT 请求?
【发布时间】:2014-10-21 15:29:11
【问题描述】:

这是我的服务器 API 文档显示我返回成功请求的内容。

curl -X PUT -d {"questions":[{"type":"control_head"}]} "https://api.request.com/forms"

{"questions":[{"type":"control_head"}]} 这是参数。 https://api.request.com/forms 这是网址。

如何使用 AFNetWorking 正确处理此问题?这就是我到目前为止所得到的。

 NSString *urlStr = [NSString stringWithFormat:@"https://api.request.com/forms"];

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

  [manager PUT:urlStr parameters:parameter success:^(AFHTTPRequestOperation *operation, id responseObject) {
    [operation setUserInfo:userinfo];

    SBJsonParser *jsonparser = [SBJsonParser new];
    id result = [jsonparser objectWithString:[operation responseString]];
    if ( self.delegate != nil && [self.delegate respondsToSelector:finishSelector] ) {
        [self.delegate performSelector:finishSelector withObject:result];
    }

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    [operation setUserInfo:userinfo];
    if ( self.delegate != nil && [self.delegate respondsToSelector:failSelector] ) {
        [self.delegate performSelector:failSelector withObject:[operation error]];
    }
}];

我不确定如何正确处理参数。

【问题讨论】:

  • 您不需要创建SBJsonParser,AFNetworking 已经将响应数据转换为 JSON responseObject 传递到块中。

标签: ios objective-c iphone afnetworking put


【解决方案1】:

您可以构造一个 NSDictionary 等效于您的参数:

NSDictionary *parameters = @{@"questions": @[@{@"type": @"control_head"}]};

只需将其传递给PUT,它就会按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-25
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多