org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation
spring从3.1升级到4.1.3 json 处理失败
报出以上错误。
折腾了半天 最终找到解决办法
spring 配置
<!-- mvc:annotation-driven使用注解功能 -->
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<!--json处理-->
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>application/json;charset=UTF-8</value>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
pom 使用
<!-- Jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.6.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.6.0</version>
</dependency>
java 调用
@RequestMapping(value = "login" , method = RequestMethod.GET ) //, method = RequestMethod.GET
@ResponseBody
public Map<String, Object> loginuser(@Valid INLoginUser inLoginUser) throws JsonProcessingException{ // @Uid String uid
//int count = userService.modifyPassword(onlineUser.getUserId(), oldPwd, newPwd);
Map<String, Object> personalLogin = userService.loginNew(inLoginUser.getUsername(), inLoginUser.getPassword());
OnlineUser user = (OnlineUser) personalLogin.get("onlineUser");
if (user != null) {
Long token = user.getUserId()*31+12345 ;
Map<String, Object> returnMap = new HashMap<String, Object>();
returnMap.put("token", token);
returnMap.put("user", user);
return Ajax.getSuccessReturnMapWithData(returnMap);
} else {
String error = (String) personalLogin.get("error");
return Ajax.buildErrorResult(error);
}
}
参考 :https://my.oschina.net/u/2273085/blog/476790