Spring Boot应用程序:找不到类型为返回值的转换器

REST API根据此 Spring-

Boot教程编写了一个简单的文章。在我本地的开发机器(Ubuntu 15.04Windows 8.1)上,所有内容都像一个魅力。

我有一台旧32-bitUbuntu 12.04 LTS服务器,我想在上面部署我的REST服务。

起始日志可以,但是一旦我向端点发送GET请求/user/{id},就会出现以下错误:

java.lang.IllegalArgumentException: No converter found for return value of type: class ch.gmazlami.gifty.models.user.User

然后沿着堆栈跟踪:

java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.LinkedHashMap

整个stacktrace在此处发布。

我调查了一些有关此错误的答案,但这些似乎不适用于我的问题,因为我使用的是Spring-Boot,因此没有任何xml配置。

受影响的控制器为:

    @RequestMapping(value = "/user/{id}", method = RequestMethod.GET)

public ResponseEntity<User> getUser(@PathVariable Long id){

try{

return new ResponseEntity<User>(userService.getUserById(id), HttpStatus.OK);

}catch(NoSuchUserException e){

return new ResponseEntity<>(HttpStatus.NOT_FOUND);

}

}

任何帮助将不胜感激。这很奇怪,因为完全相同的东西在其他机器上也能完美地工作。

回答:

您应该对pom.xml和mvc-dispatcher-servlet.xml文件进行一些更改:将以下依赖项添加到pom.xml中:

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-core</artifactId>

<version>2.4.3</version>

</dependency>

<dependency>

<groupId>com.fasterxml.jackson.core</groupId>

<artifactId>jackson-databind</artifactId>

<version>2.4.3</version>

</dependency>

并更新您的mvc-dispatcher-servlet.xml:

<mvc:annotation-driven>

<mvc:message-converters>

<bean class="org.springframework.http.converter.StringHttpMessageConverter"/>

<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>

</mvc:message-converters>

</mvc:annotation-driven>

以上是 Spring Boot应用程序:找不到类型为返回值的转换器 的全部内容, 来源链接: utcz.com/qa/424351.html

回到顶部