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错误-不支持的媒体类型的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

HTTP 415错误-Unsupported media type详解