406

SpringMVC3.2.x整合Fastjson与Controller单元测试

不羁的心 提交于 2019-12-09 18:09:38
SpringMVC与Fastjson整合相当简单,只要在pom引入fastjson包后,配置一下SpringMVC的messageConverter就可以使用了。 <mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"> <mvc:message-converters register-defaults="true"> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"></bean> </mvc:message-converters> </mvc:annotation-driven> <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"> <property name="mediaTypes" > <value> json=application/json xml=application/xml </value> </property> </bean> 但是如果在单元测试时

SpringMVC 3.2.* json 406

孤街浪徒 提交于 2019-12-09 18:00:23
今天项目请求json时报了这个诡异的且从来没有遇到到的错误:The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers. 解决办法: 1、将springmvc 文件的 xsd修改为3.2版本,如: http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd 2、将<mvc:annotation-driven/> 修改为 <mvc:annotation-driven content-negotiation-manager="contentNegotiationManager"/> <bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean"> <property name="favorPathExtension" value="false" /> <property name="favorParameter"

Spring MVC + JSON = 406 Not Acceptable

僤鯓⒐⒋嵵緔 提交于 2019-12-07 21:27:57
在开发接口时发现了一个很好玩的问题,两个接口均是restful形式,参数在URL路径中传递,返回结果形式均为json,但是在接口测试时,一个接口正常,另一个接口报错:The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers.本文来分析一下其中的原因。   先介绍一下出错的接口情况,接口代码如下: /** * 验证email是否可用 * @param email * @return */ @ResponseBody @RequestMapping(value = "/emailCheck/{email}", method = RequestMethod.GET) @ApiOperation(value = "验证email是否可用", httpMethod = "GET", response = ApiResult.class, notes = "验证email是否可用") public ApiResult checkEmailValid(@ApiParam(required = true, name = "email",

@ResponseBody响应JSON 406

六眼飞鱼酱① 提交于 2019-12-07 12:28:36
搭建 SpringMVC(4.1) ,但是搭建完成以后发现使用 @ResponseBody的ajax无法访问,总是出现406的问题。 首先怀疑的是配置问题,经过查明,影响SpringMVC的 @ResponseBody注解的是: <mvc:annotation-driven />,我发现我的配置中存在这个注解。同时又使用Spring文档中的自动配置相关解析类的方式再进行测试,发现还是没有解决问题。 同时在网上找到相关问题,发现是 缺失jackson的jar 。 <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-lgpl</artifactId> <version>1.9.0</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-lgpl</artifactId> <version>1.9.0</version> </dependency> 于是加上该依赖,可是发现问题还是没有解决。 有参考一下spring 文档 Spring 4 requires the recent Hibernate Validator 4.3+, and