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

StackOverflow https://stackoverflow.com//questions/24025469

  •  21-12-2019
  •  | 
  •  

我一直在尝试使用 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 不(或者也许 不)设置内容类型,我无法找到手动执行此操作的方法。

因此,API 拒绝了我的请求,并显示“HTTP 415 不支持的媒体类型”错误。

其他类似的问题都是服务器引起的 回复 不是 application/json,但这个问题是关于请求标头的。

有帮助吗?

解决方案

这是由于错误的 API 服务器断言造成的 全部 请求有一个 Content-Type: application/json 标头。AFNetworking 将正确避免设置该标头 HEAD, GET, , 或者 DELETE 要求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top