【Error】 SpringMVC 解决返回List时没有自动转换成json的问题

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>

 

参考:

https://blog.csdn.net/Li_born/article/details/79597448


版权声明:本文为think_ycx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。