Java 无法从Spring控制器返回JSON响应(也添加了jackson JAR)
我试图将客户列表作为JSON响应发送,但返回时错误响应为Java 无法从Spring控制器返回JSON响应(也添加了jackson JAR),java,json,spring,spring-restcontroller,Java,Json,Spring,Spring Restcontroller,我试图将客户列表作为JSON响应发送,但返回时错误响应为 No converter found for return value of type: class java.util.ArrayList 配置类 我的控制器是 @RestController public class CustomerRestController { @Autowired private CustomerDAO customerDAO; @GetMapping("/customers")
No converter found for return value of type: class java.util.ArrayList
配置类
我的控制器是
@RestController
public class CustomerRestController {
@Autowired
private CustomerDAO customerDAO;
@GetMapping("/customers")
public List<Customer> getCustomers() {
return customerDAO.list();
}
}
罐子补充道
commons-logging-1.2.jar、jackson-core-asl-1.9.13.jar、jackson-mapper-asl-1.9.13.jar、jackson-databind-2.9.0.jar、spring aop、spring核心、spring bean、spring上下文、spring表达式、spring web、spring webmvc(所有4.3.9版本)
仍然是返回我的错误响应
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
任何想法都将不胜感激在您的项目中添加Jackson依赖项或jar 像
com.fasterxml.jackson.core
杰克逊数据绑定
版本
如果这是在Spring MVC中实现的,那么dispatcher servlet的xml文件必须有
标记才能转换为工作状态。这里只是一个猜测,但尝试改用数组(或将列表包装在某个对象中)。显示您添加的依赖项以及Customer
类。是否存在相同的问题@CássioMazzochiMolin,更新了我的问题以及jar详细信息和客户类别请注意,从SpringFramework4.3开始,最低要求是Jackson 2.6@RoyClarkson,我的jackson数据绑定版本是2.9。请你去扔这个。它可能会对你有帮助。配置你的自定义customConverters(HttpMessageConverters.class)
public class Customer {
private Long id;
private String firstName;
public Customer(long id, String firstName) {
this.id = id;
this.firstName = firstName;
}
public Customer() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:982)
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>VERSION</version></dependency>