当前位置: 首页 > 知识库问答 >
问题:

转换JSON响应时未找到合适的HttpMessageConverter?

通远
2023-03-14

我得到了一个简单的json响应,并希望将其映射为一个pojo:

ResponseEntity<JsonEntity> response = new RestTemplate().getForEntity(url, JsonEntity.class);

@JsonIgnoreProperties(ignoreUnknown = true)
public class JsonEntity {
    //@JsonProperty getter + setter...
}

但我只是得到以下例外。可能遗漏了什么?

组织。springframework。网状物客户RestClientException:无法提取响应:未找到响应类型[class JsonEntity]和内容类型[application/octet stream]的合适HttpMessageConverter

共有2个答案

潘弘博
2023-03-14

结果表明,该服务没有使用UTF-8编码进行响应,而是iso8859-1,这导致了错误,因为Jackson解析器只能处理UTF-8。

西门伟
2023-03-14

对于默认的JSONHttpMessageConzer,您需要将Jackson 1或Jackson 2添加到类路径中。

否则,您可以添加一些其他JSON库并编写自己的HttpMessageConverter,它可以进行反序列化。

 类似资料:
  • 我正在写一个Springmvc应用程序(Spring新手),它必须调用Rest服务。我有其余的服务部署在我的VM(weblogic 10.3.6在Linux)和我写的应用程序是在我的本地笔记本电脑weblogic(10.3.6在Windows 8.1)。 当我尝试调用rest服务时,restservice应用程序的请求正常,但响应失败,并显示以下消息 我正在初始化控制器中的其余客户端 在实际的客户

  • 我是新的Spring集成和工作在Spring集成超文本传输协议模块为我的项目要求。我从出站网关作为超文本传输协议客户端发送请求。我试图向服务器发起一个请求,服务器应该用我的设置值返回消息负载。我正在将对象转换为JSON,用于发送到服务器我正在从客户端(HttpClientDemo)向服务器端的入站网关发送请求。为此,我将我的对象转换成JSON,然后将JSON字符串转换为客户端的对象,在那里执行一些

  • 使用curl命令: 我收到一个JSON响应: 我把响应保存在一个txt文件里然后用jackson解析一切正常 我假设我应该使用RestTemplate得到相同的结果,但事实并非如此 我得到了一个错误 我尝试设置contentType: 但后来我发现了一个编译错误 我还尝试在Jackson消息转换器中添加一个 但是后来我得到了这个错误: 我还尝试添加了这个类 但是我得到了错误:

  • 首先,抱歉可能重复。我发现了一些关于类似问题的问题。然而,我仍然想不出我的具体情况出了什么问题。 所以,例如json从服务器: 我生成了名为Mall的类(以及数据结构其余部分的所有子类): 服务器返回内容类型text/plain。为了修改内容类型,我编写了简单的扩展类: 最后,这是我试图使用我的网络服务的方式: 然而,我仍然得到同样的例外: 无法提取响应:未找到响应类型[m.m.restsprin

  • 问题内容: 使用spring,使用以下代码: 我懂了 pojo的片段: 问题答案: 从Spring的角度来看,没有一个通过注册的实例可以将内容转换为对象。感兴趣的方法是。上述所有回报的实现,包括。 由于没有人可以读取您的HTTP响应,因此处理失败,并出现异常。 如果你能控制服务器响应,修改设置到,或东西匹配。 如果您不控制服务器响应,则需要编写和注册自己的(可以扩展Spring类,see 及其子类

  • org.springframework.web.client.未知内容类型异常:无法提取响应:没有找到适合响应类型[类net.minidev.json.JSONObject]和内容类型[应用程序/json]的HttpMessageConzer endpoint Url还返回JSONObject,因此不知道为什么不匹配