,,HTTP 415错误-Unsupported media type详解

,,HTTP 415错误-Unsupported media type详解

这篇文章主要介绍了HTTP 415错误-不支持的媒体类型详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

前段时间在使用@请求体注解的时候遇到了一个以前没遇到过的错误,HTTP不支持的媒体类型?这个是个什么鬼,@ResponseBody可以正常工作而一使用@请求体来进行交互就会报这个错误。一直请求不到控制器,我开始总以为是路径或者json格式不对的问题,上网查资料大多也说的是这个问题。可是我已经写了

数据:JSON.stringify(用户),

数据类型:' json ',

内容类型:'应用程序/JSON;字符集=UTF-8 ',

按照网上的办法也一直不管用,百思不得其解。于是继续在网上找资料,

网上分析原因很多,但找了很久都没解决,基本是以下几类:

springmvc添加配置、注解;

pom.xml添加杰克逊包引用;

埃阿斯请求时没有设置内容类型为应用程序/json

发送的请求内容不要转成JSON对象,直接发送JSON字符串即可

各种办法都尝试了一遍,还是没有能解决问题;

脚本

jQuery(函数($){

var urlStr=' %=请求。getcontextpath()%/user/GetUser ';

定义变量用户={

id' : 6,

用户名":"小红,

密码':' 123 ',

"年龄":12岁

};

$.ajax({

url : urlStr,

类型:' POST ',

数据:JSON.stringify(用户),//转JSON字符串

数据类型:' json ',

内容类型:'应用程序/JSON;charset=UTF-8 ',//内容类型很重要

成功:功能(结果){

console.log(结果);

//alert(结果);

//data=eval((' result '));

//alert(数据);

$('#a ').html(结果。用户名);

}

});

});

/脚本

造了一个简单是数据来测试,还是不行。

包com。cn。hnust。控制器;

导入javax。servlet。http。http servlet请求;

导入org。spring框架。豆子。工厂。注释。自动连线;

导入org。spring框架。刻板印象。控制器;

导入org。spring框架。ui。模型;

导入org。spring框架。网络。绑定。注释。请求正文;

导入org。spring框架。网络。绑定。注释。请求映射;

导入org。spring框架。网络。绑定。注释。请求方法;

导入org。spring框架。网络。绑定。注释。响应正文;

导入com。cn。hnust。域。用户;

导入com。cn。hnust。服务。iuser服务;

@控制器

@RequestMapping('/user ')

公共类用户控制器{

@自动连线

私有IUserService用户服务;

@RequestMapping('/showUser ')

公共字符串toIndex(HttpServletRequest请求,模型型号){

//int userId=integer。解析int(请求。getparameter(' id ');

//用户User=this。用户服务。getuser byid(userId);

//model.addAttribute('user ',用户);

返回”显示用户”;

}

@请求映射(value='/GetUser ',method=RequestMethod .帖子)

public @ResponseBody

用户GetUser(@RequestBody用户用户){

用户。设置用户名('魏');

返回用户;

}

}

控制器也很简单,可是就是请求不到控制器方法。于是我继续在网上寻找资料,直到看到一篇博客,才找到了问题的解决办法。

原来是杰克逊的依赖问题,spring3.x和spring4.x是不同的:

spring3.x是org。spring框架。http。转换器。JSON。mappingjacksonhtpmessageconverter

spring4.x是org。spring框架。http。转换器。JSON。映射Jackson 2 http消息转换器

具体可以查看弹簧网的冲突确认,哪个存在用哪个!

在配置视图解析器的时候应该指定响应的版本,于是我将springmvc的配置文件改为:

' org。spring框架。网络。servlet。查看。contentnegotiatingviewrolver '

属性名称='订单'值='1' /

属性名='媒体类型'

地图

条目键='json '值='application/json' /

条目关键字='xml '值='应用程序/xml' /

entry key=' htm ' value=' text/html '/

/地图

/属性

属性名='默认视图'

目录

!- JSON视图-

' org。spring框架。网络。servlet。查看。JSON。'映射Jackson 2 JSON视图'

/bean

/列表

/属性

属性名称='ignoreAcceptHeader '值='true' /

/bean

只会

MappingJacksonJsonView

代替

MappingJackson2JsonView

关于HTTP 415错误-不支持的媒体类型的详细解释,本文到此为止。有关HTTP 415错误-不支持的媒体类型的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: