SpringMVC中,当你写了一个Controller返回了一个List时,如果没有添加jackson、fastjson支持,那么默认返回会报错,不回自动转换成json。
@RestController
public class AjaxControllerJson {
@RequestMapping("/getUser")
private List<User> test(){
List<User> userList = new ArrayList<User>();
userList.add(new User("user1", 1));
userList.add(new User("user2", 2));
userList.add(new User("user3", 3));
return userList;
}
}
报错如下:
org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class java.util.ArrayList
解决办法:
1、添加fastjson的依赖
2、修改resources/springmvc-servlet.xml,增加如下代码:
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<!-- 配置Fastjson支持 -->
<bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
<value>application/json</value>
</list>
</property>
<property name="features">
<list>
<value>WriteMapNullValue</value>
<value>QuoteFieldNames</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
参考: