使用AFNetworking 2的AFHTTPRequestOperationManager设置请求的内容类型?

时间:2014-06-03 21:44:50

标签: afnetworking-2

我一直试图使用AFNetworking 2.0通过HTTP与JSON API对话。我发现的示例建议使用AFHTTPRequestOperationManager,因此我实现了以下伪代码:

manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"http://test-api.localdev/"]];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFJSONResponseSerializer serializer];
params = @{
    @"username": @"Drarok",
    @"token": @"1234-abcd"
};
[manager GET:@"transactions" parameters:params success:[…] failure:[…]];

不幸的是,似乎AFJSONRequestSerializer没有(或者可以没有)设置Content-Type,我无法找到手动执行此操作的方法。

因此,API拒绝我的请求时出现“HTTP 415不支持的媒体类型”错误。

其他类似问题是由服务器响应不是application / json引起的,但这个问题与请求标题有关。

1 个答案:

答案 0 :(得分:0)

这是由错误的API服务器断言所有请求都有Content-Type: application/json标头引起的。 AFNetworking将正确避免为HEADGETDELETE请求设置该标头。