AFNetworking 返回错误unsupported media type (415) 解决方案

一.修改Content-Type数据类型

一般情况下,AFNetwoking的默认Content-Type是application/x-www-form-urlencodem。如果服务器要求的格式是JSON,我们需要把Content-Type设置为applicaiton/json。

服务器是通过识别Content-Type来识别传送的数据类型,分辨传送的数据是文本,图片或者是其他。如果服务器不识别对应的Content-Type,那么就会返回unsupported media type (415).

修改Content-Type代码如下:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer]; 
[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
二.AFN请求头添加公共参数
NSString *codestr=[@"123456" MD5];

NSString *parameters = [@{@"username":@"18658114668",@"password":codestr} mj_JSONString];

NSString *loginURL = @"[http://172.16.150.144:8090/nursing-branch-web/auth/user/mobilelogin](http://172.16.150.144:8090/nursing-branch-web/auth/user/mobilelogin)";

AFHTTPRequestOperationManager *manager  = [AFHTTPRequestOperationManager manager];

manager.requestSerializer = [AFJSONRequestSerializer serializer];

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html",@"text/plain", nil];//申明返回的结果是json类型

[manager.requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];//申明请求类型

//请求头中添加的公共参数

[manager.requestSerializer setValue:@"1" forHTTPHeaderField:@"app-api-version"];

[manager.requestSerializer setValue:@"6624effa7d352c0a807a9197b9b" forHTTPHeaderField:@"pri-token"];

[manager.requestSerializer setValue:@"2ac87cfc9088a1530652d0e83c" forHTTPHeaderField:@"pri-uuid"];

[manager.requestSerializer setValue:@"-PEnQxvWspHp-gWg" forHTTPHeaderField:@"token"];

[manager POST:loginURL parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) {

      HULog(@"成功");

} failure:^(AFHTTPRequestOperation *operation, NSError *error) {

      HULog(@"错误");

    }];
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 7,720评论 0 6
  • HTTP概述 超文本传输协议(HTTP,HyperText Transfer Protocol) 是互联网上应用最...
    曹渊说创业阅读 9,247评论 2 61
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,682评论 6 152
  • 起誓:3月份一个月坚持晚饭不吃米饭。 目标:我要瘦到100以下,现在106斤,是除生孩子之外的历史最高点,胖得我都...
    方豌阅读 1,391评论 0 0