Spring的@RequestBody非常牛x,可以将提交的json直接转换成POJO对象。

正好今天有这样的需求,使用一下,结果一直报415,十分头疼。

HTTP 415 错误 – 不支持的媒体类型(Unsupported media type)

我的angularJs是这样写的

$http({method: "POST",url: url;headers: {'Content-type': 'application/json;charset=UTF-8'},data: scope.$modelValue})
.success(function(data, status) {// success handle code
})
.error(function(data, status) {// error handle code
});

url与scope.$modelValue都是项目中的代码,在这里占个坑,scope.$modelValue是一个js对象,会被angularJs转换成json字符串,

反复看angularJs的文档,又抓包分析,确认js没有问题。

在网上一查貌似是Spring的问题,有的网友说需要在*-servlet.xml中增加<mvc:annotation-driven />,一看我的项目没加,立刻加上。

当然还需要加上mvc的xml命名空间,否则该配置无法解析。

xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"

<mvc:annotation-driven />会自动注册DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean

AnnotationMethodHandlerAdapter将会初始化7个转换器,可以通过调用AnnotationMethodHandlerAdapter的getMessageConverts()方法来获取转换器的一个集合 List<HttpMessageConverter>

ByteArrayHttpMessageConverter
StringHttpMessageConverter
ResourceHttpMessageConverter
SourceHttpMessageConverter
XmlAwareFormHttpMessageConverter
Jaxb2RootElementHttpMessageConverter
MappingJacksonHttpMessageConverter

对于json的解析就是通过MappingJacksonHttpMessageConverter转换器完成的。

只添加<mvc:annotation-driven />还不行,需要在classpath环境中能找到Jackson包,用maven配置如下

 <dependency>  <groupId>org.codehaus.jackson</groupId>  <artifactId>jackson-mapper-asl</artifactId>  <version>1.9.8</version>  <type>jar</type>  <scope>compile</scope>  </dependency>  

至此问题解决,附上Spring代码

@RequestMapping(value = "/testjson", method = RequestMethod.POST, consumes = "application/json")
@ResponseBody
public void testJson(@RequestBody JsonInfo jsonInfo,HttpServletRequest request, HttpServletResponse response)
{//handle jsonInfo object instance
}

原文地址:

http://www.cnblogs.com/qq78292959/p/3761646.html

springmvc 异常001---在SpringMVC中使用@RequestBody注解处理json时,报出HTTP Status 415的解决方案相关推荐

  1. 在SpringMVC中使用@RequestBody注解处理json时,报出HTTP Status 415的解决方案

    在SpringMVC中使用@RequestBody注解处理json时,报出HTTP Status 415的解决方案 参考文章: (1)在SpringMVC中使用@RequestBody注解处理json ...

  2. 在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案

    在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案 参考文章: (1)在SpringMVC中使用@Reque ...

  3. lombok 的bug?lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败

    大家好,我是烤鸭:     lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败.     环境版本:         spring 5.x ...

  4. springboot配置拦截器,在拦截器中获取@RequestBody注解参数和post请求参数以及get请求参数

    1.配置拦截器 package com.jy.gxw.config.interceptor;import org.springframework.beans.factory.annotation.Au ...

  5. SQL Server 异常 COM 类公司中CLSID 为 {10021F00-E260-11CF-AE68-00AA004A34D5} 的组件时失败,原因是出现以下错误: 80070005

    [Error] COM 类公司中CLSID 为 {10021F00-E260-11CF-AE68-00AA004A34D5} 的组件时失败,原因是出现以下错误: 80070005 [Solution] ...

  6. SQL Server 异常 COM 类公司中CLSID 为 {10021F00-E260-11CF-AE68-00AA004A34D5} 的组件时失败,原因是出现以下错误: 80040154

    ASP.NET利用SQLDMO可以实现在线备份.还原数据库等各种功能. 由于客户的数据库和WEB服务不再同一台服务器,把网站部署在服务器上以后,运行程序,提示如下错误 [Error] COM 类工厂中 ...

  7. Eclipse中使用JNI编写C代码时出现“Unresolved inclusion: ***.h”的解决方案

    1 致谢 感谢初道网友(估计是这个名字吧 不过也有可能是转载的 我还是由衷地表达一下谢意) 链接如下:http://www.51testing.com/html/02/n-862402.html 2 ...

  8. 学习笔记-----C++模板类中友元函数重载输出运算符时提示无法解析的外部符号解决方案

    今天在写单向链表实现线性表的时候打算重载输出运算符用来将线性表输出,结果无奈又遇到了问题. 大致代码如下 <pre name="code" class="cpp&q ...

  9. body里写注释 postman_HTTP Status 415 – Unsupported Media Type(使用@RequestBody后postman调接口报错)...

    1.问题描述:使用springMVC框架后,添加数据接口中,入参对象没使用@RequestBody注解,造成postman发起post请求, from-data可以调通接口,但是raw调不通接口,然后 ...

最新文章

  1. LeetCode简单题之猜数字大小
  2. 资源推荐 | 知识图谱顶会文献集锦(附链接)
  3. 插入顶部_声屏障顶部斜插式安装可获得10-25dB的降噪量
  4. 抗锯齿_电竞屏+AI抗锯齿,雷神911 Pro游戏本给你更好游戏体验
  5. sql server 触发器
  6. matlab保存每次循环的结果
  7. 配置Tomcat 域名解析 tomcat/conf server.xml
  8. 代码评审系统 ReviewBoard 和 Gerrit
  9. stm32f103rc片内Flash使用FAL库配置说明
  10. 使用python来搭建一个简易的文件下载环境以及用droopy来实现一个文件上传环境
  11. 如何让背景图片居中?
  12. scrapy爬取网页数据
  13. 3个小时学会wordpress模板制作
  14. 【DailyFresh】课程记录6---订单模块(订单并发)
  15. 关于若依管理系统配置多数据源的原理分析
  16. python3.6怎么保存_python 保存数据单文件_python3.6 单文件爬虫 断点续存 普通版 文件续存方式...
  17. 盗版升级win10仍是盗版
  18. win10变Linux风,雨林风木为你win10系统安装运行linux系统的图文教程
  19. (十八)自动装配-@Autowired-构造器,参数,方法,属性
  20. 电信isag接口java_使用ag-grid进行国际化

热门文章

  1. Faster R-CNN原理
  2. 西瓜书《支持向量机SVM》 原始形式推导+拉格朗日乘数法的SVM形式+SVM对偶形式推导+SMO算法推导
  3. Pytorch:矩阵乘法总结
  4. QT样式表(QStyleSheet)
  5. C#流程控制语句--迭代语句(while,do....while, for , foreach)
  6. sumk-db的主要方法及注解
  7. 详细认识一下CSS盒子模型
  8. angularjs 模块化
  9. 作DJANGO ORM时的一些最佳实践
  10. 【个性化阅读】ZapTxt的提醒姗姗来迟