美文网首页
springmvc进行mock test报415错误的

springmvc进行mock test报415错误的

作者: 许武顺 | 来源:发表于2016-10-21 11:54 被阅读540次

    前天用springmvc搭建项目的时候,写了一个restful接口,因为是post方式的http请求,所以加了@RequestBody注解,spring内置了jackson解析器,会自动根据字段名将json数据反序列化并绑定到SendValidCodeRequest变量中,前提是项目需要依赖jackson包,在pom.xml文件中增加两个配置

    com.fasterxml.jackson.core

    jackson-core

    2.8.3

    com.fasterxml.jackson.core

    jackson-databind

    2.8.3

    完工之后,接下来要用spring的mockmvc框架进行单元测试,导入的依赖包就不一一说明了。

    建了一个TestAppConfig.java类作为单元测试的配置类,

    写了mockmvc 的post测试方法,在方法里面指定http header 的content-type为application/json,进行测试,结果一直报415错误

    从日志可以看出来springmvc提供的接口不支持json方法,所以采用json格式发送数据会出错,于是百度了一下,看到有的解释是需要为springmvc添加注解驱动,可以理解为这样@RequestBody注解才会生效,才能自动对json数据进行反序列化,不过网上的做法是在springmvc-servlet.xml配置文件里面增加配置项,这样固然可以,但是现在的项目是纯注解方式,实在不愿意在一个已经彻底去除繁琐的xml配置的项目中增加这样一个文件。

    又研究了一下,发现最新版spring提供了@EnableWebMvc注解,跟上面的配置是等价的,只要在项目的配置类AppConfig.java文件中增加这个注解,完美解决!

    相关文章

      网友评论

          本文标题:springmvc进行mock test报415错误的

          本文链接:https://www.haomeiwen.com/subject/xrzquttx.html