相关疑难解决方法(0)

无法提取响应:没有为响应类型找到合适的HttpMessageConverter

我是Spring的新成员,并在Spring集成http模块中工作,以满足我的项目需求.我从出站网关发送请求作为http客户端.我正在尝试向服务器发起请求,服务器应该使用我的设置值返回消息有效负载.我正在将对象转换为JSON使用发送到服务器我正在从客户端(HttpClientDemo)向服务器端的入站网关发送请求,如下所示.为此,我将我的对象转换为JSON,然后在客户端转换为JSON字符串到对象,在那里执行一些简单的操作并将其发送回客户端(HttpClientDemo)但在此之前,我得到与之相关的异常HttpMessageConverter如下:

Exception in thread "main" org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [class com.mycompany.MyChannel.model.FFSampleResponseHttp] and content type [text/plain;charset=UTF-8]
    at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:108)
    at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:784)
    at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:769)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:549)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:517)
    at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:462)
    at org.springframework.integration.http.outbound.HttpRequestExecutingMessageHandler.handleRequestMessage(HttpRequestExecutingMessageHandler.java:421)
    at org.springframework.integration.handler.AbstractReplyProducingMessageHandler.handleMessageInternal(AbstractReplyProducingMessageHandler.java:170)
    at org.springframework.integration.handler.AbstractMessageHandler.handleMessage(AbstractMessageHandler.java:78)
    at org.springframework.integration.dispatcher.AbstractDispatcher.tryOptimizedDispatch(AbstractDispatcher.java:116)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.doDispatch(UnicastingDispatcher.java:101)
    at org.springframework.integration.dispatcher.UnicastingDispatcher.dispatch(UnicastingDispatcher.java:97)
    at org.springframework.integration.channel.AbstractSubscribablMyChannel.doSend(AbstractSubscribablMyChannel.java:77)
    at org.springframework.integration.channel.AbstractMessagMyChannel.send(AbstractMessagMyChannel.java:255)
    at org.springframework.integration.channel.AbstractMessagMyChannel.send(AbstractMessagMyChannel.java:223)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:114)
    at org.springframework.messaging.core.GenericMessagingTemplate.doSend(GenericMessagingTemplate.java:44)
    at org.springframework.messaging.core.AbstractMessageSendingTemplate.send(AbstractMessageSendingTemplate.java:93)
Run Code Online (Sandbox Code Playgroud)

请在下面找到相关代码:

客户端代码:HttpClientDemo.java

public class HttpClientDemo {

    private static Logger logger = Logger.getLogger(HttpClientDemo.class);
    public static void main(String[] args) {
        ApplicationContext context = …
Run Code Online (Sandbox Code Playgroud)

spring spring-integration

13
推荐指数
3
解决办法
9万
查看次数

强制 spring RestTemplate 将纯文本处理为 JSON?

Web API 正在响应带有 的请求Content-Type:text/plain; charset=utf-8,但消息的格式就像 JSON 一样,例如。

{
"total": 168,
"page": 0,
"pageCount": 1,
...
}
Run Code Online (Sandbox Code Playgroud)

在 Spring 中,此消息使用 RestTemplate 进行处理,并且 JSON 会自动映射到ModelDtoPOJO,

restTemplate.getForObject(url, ModelDto::class.java) 
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误:

org.springframework.web.client.RestClientException:无法提取响应:没有找到适合响应类型 [class api.ModelDto] 和内容类型 [text/plain;charset=utf-8] 的 HttpMessageConverter

尽管 Content-Type 是纯文本,有什么方法可以让 spring 将此消息视为 JSON 并对其进行解析?

java rest spring json

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

spring ×2

java ×1

json ×1

rest ×1

spring-integration ×1