NSURLConnection HTTPBody设置为null

时间:2014-11-03 08:16:37

标签: ios

我将使用REST Api提供POST请求。我将POST值作为字典提供。使用NSURLConnection建立连接。还使用NSJSONSerialization转换为NSDATA。

以下是我的连接的代码段。

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:restApiURL];

/* Specify that it will be a POST request */
request.HTTPMethod = @"POST";

/* Specify request timeout */
request.timeoutInterval = 300;

/* This is how we set header fields */
[request setValue:@"application/json; charset=UTF-8" forHTTPHeaderField:@"Content-Type"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];

NSData *requestBodyData = [NSJSONSerialization dataWithJSONObject:myDictionary options:NSJSONWritingPrettyPrinted error:&error];
request.HTTPBody = requestBodyData;

/* create the connection */
self.connection = [NSURLConnection connectionWithRequest:request delegate:self];

/* ensure the connection was created */
if (self.connection)
{
    /* initialize the buffer */
    self.buffer = [NSMutableData data];

    /* start the request */
    [self.connection start];
}
else
{
    NSLog(@"Connection Failed");
}

在测试 requestBodyData 时,它具有与我发送的值相同的值。但在设置请求的主体后,值将变为null。

我收到了 “操作无法完成” 的回复。但api在浏览器中运行良好。因此,对于检查,现在服务返回接收的值。打印收到的响应时,post参数的值为空。

请帮助我在休息服务中张贴适当的值。

0 个答案:

没有答案