【问题标题】:Not able to return JSON response from Spring controler (Added jackson jars too)无法从 Spring 控制器返回 JSON 响应(也添加了 jackson jars)
【发布时间】:2017-09-06 10:36:29
【问题描述】:

我正在尝试将客户列表作为 JSON 响应发送,但是它返回错误响应为

 No converter found for return value of type: class java.util.ArrayList

配置类

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "net.ifg.spring")
public class AppConfig {

@Bean
public Jackson2ObjectMapperBuilder jackson2ObjectMapperBuilder() {
    Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
    return builder;
}
}

我的控制器是

@RestController
public class CustomerRestController {

    @Autowired
    private CustomerDAO customerDAO;

    @GetMapping("/customers")
    public List<Customer> getCustomers() {
        return customerDAO.list();
    }

}

客户类

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;
}


}

已添加 JAR

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 -core,spring-beans,spring-context, spring-expression, 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)

任何想法将不胜感激

【问题讨论】:

标签: java json spring spring-restcontroller


【解决方案1】:

在您的项目中添加 Jackson 依赖项或 jar。

喜欢,

<dependency>
  <groupId>com.fasterxml.jackson.core</groupId>
  <artifactId>jackson-databind</artifactId>
  <version>VERSION</version></dependency>

【讨论】:

【解决方案2】:

如果这是在 Spring MVC 中进行的,那么 dispatcher-servlet 的 xml 文件必须具有 &lt;mvc:annotation-driven /&gt;tag 才能进行转换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 2022-12-07
    • 1970-01-01
    相关资源
    最近更新 更多