gpt4 book ai didi

java - 无法提取响应 : no suitable HttpMessageConverter found

转载 作者:行者123 更新时间:2023-11-29 05:05:01 28 4
gpt4 key购买 nike

我正在编写一个必须调用休息服务的 spring mvc 应用程序(Spring 新手)。我在我的 VM(Linux 中的 weblogic 10.3.6)中部署了其余服务,我正在编写的应用程序在我的本地笔记本电脑 weblogic(Windows 8.1 中的 10.3.6)中。

当我尝试调用 rest 服务时,restservice 应用程序的请求正常,但响应失败并显示以下消息

org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [class com.myclass.Acct] and content type [application/json;charset=UTF-8]
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:110)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:572)

我正在我的 Controller 中初始化其余客户端并调用如下方法

Class1 ccc = new Class1();
Client client = new Client("REST URL","key","key1","USR",ccc);
client.getService("String"));

在实际客户端中,调用rest服务是这样的

Acct acct1 = restClient.getRestTemplate().getForObject("URL", Acct.class, "USR");

我得到的错误是在上面一行。我不确定如何设置响应类型。当我将 Acct.class 更改为 String.class 并将 Acct acct1 更改为 Object acct1 时,它就可以工作了。

我是否需要在 dispatcher-servlet.xml 中为响应类型 json 设置任何内容?让我知道是否需要任何其他配置来完成这项工作。我确实看过与此相关的其他帖子,但没有帮助。谢谢。

最佳答案

感谢您的帮助。我已经解决了这个问题,现在可以正常使用了。

我做了以下更新:

在我的 pom.xml 中

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

在我的调度程序 servlet 中

<!-- Configure to plugin JSON as request and response in method handler -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jsonMessageConverter"/>
</list>
</property>
</bean>

<!-- Configure bean to convert JSON to POJO and vice versa -->
<bean id="jsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
</bean>

在我的代码中(账户类)

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
...........
..........
@JsonIgnore
@JsonProperty(value = "........")
public Set getMethod()
{
return this.............;
}

现在,我可以从其余服务中获取结果。

谢谢。

关于java - 无法提取响应 : no suitable HttpMessageConverter found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30655566/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com