我正在写一个Springmvc应用程序(Spring新手),它必须调用Rest服务。我有其余的服务部署在我的VM(weblogic 10.3.6在Linux)和我写的应用程序是在我的本地笔记本电脑weblogic(10.3.6在Windows 8.1)。
当我尝试调用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)
我正在初始化控制器中的其余客户端
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时。类并将Acct acct1添加到对象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>
在我的代码(Acct类)
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
...........
..........
@JsonIgnore
@JsonProperty(value = "........")
public Set getMethod()
{
return this.............;
}
现在,我可以从rest服务中获得结果。
谢谢。
使用curl命令: 我收到一个JSON响应: 我把响应保存在一个txt文件里然后用jackson解析一切正常 我假设我应该使用RestTemplate得到相同的结果,但事实并非如此 我得到了一个错误 我尝试设置contentType: 但后来我发现了一个编译错误 我还尝试在Jackson消息转换器中添加一个 但是后来我得到了这个错误: 我还尝试添加了这个类 但是我得到了错误:
我是新的Spring集成和工作在Spring集成超文本传输协议模块为我的项目要求。我从出站网关作为超文本传输协议客户端发送请求。我试图向服务器发起一个请求,服务器应该用我的设置值返回消息负载。我正在将对象转换为JSON,用于发送到服务器我正在从客户端(HttpClientDemo)向服务器端的入站网关发送请求。为此,我将我的对象转换成JSON,然后将JSON字符串转换为客户端的对象,在那里执行一些
我正在尝试使用spring for Android从REST服务中检索一些数据。但是我遇到了问题。我也在使用Robospice——因此有一种类似这样的方法: 不幸的是,这不起作用。我将引发以下异常: 现在,基于我的谷歌搜索,我觉得我需要添加一个消息转换器。我只是不确定我需要哪个消息转换器,或者在哪里添加它?
我试图让一个Spring CloudNetflixFaignes客户端通过HTTP获取一点JSON并将其转换为对象。我一直得到这个错误,而不是: 组织。springframework。网状物客户RestClientException:无法提取响应:未找到响应类型[class io.urig.checkout.Book]和内容类型[application/json;charset=UTF-8]的合适
我有以下几点建议: 当我对它执行cucumber测试时,我得到以下异常: 我有一些其他的测试和其他具有相同注释的POJO,它们工作起来没有任何问题。我真的一点也不知道出了什么问题。 感谢任何建议!
我得到这个例外 组织。springframework。网状物客户RestClientException:无法提取响应:未找到响应类型[AnalyticsResponse]和内容类型[application/json;charset=UTF-8]的合适HttpMessageConverter 仅在我的junit测试用例中(Restendpoint可以正常工作),如果我的DTO包含一个以用户定义的类作