我在代码中调用一个rest终结点,该终结点返回一个简单的字符串true或false。我已经将我的Spring靴升级到2.4。下面的代码现在抛出一个异常。
ResponseEntity<Boolean> status = restTemplate.getForEntity(uri, Boolean.class);
org.springframework.web.client.未知内容类型异常:无法提取响应:在org.springframework.web.client.HttpMessageConverterExtractor.extract数据(HttpMessageConverterExtractor.java:126)~[spring-web-5.3.8.jar: 5.3.8]在org.springframework.web.client.RestTem板$响应实体响应xtractor.extract数据(RestTemplate.java:1037)~[spring-web-5.3.8.jar: 5.3.8]在org.springframework.web.client.RestTem板$响应实体响应xtractor.extract数据(RestTemplate.java:1020)~[spring-web-5.3.8.jar: 5.3.8]org.springframework.web.client.RETemplate.do执行(RETemplate.java:778)~[spring-web-5.3.8.jar: 5.3.8]
如何解决这个问题?
你好,大卫
删除响应实体,只需添加如下内容。
Boolean status = restTemplate.getForEntity(uri, Boolean.class);
当restTemboard
没有合适的MessageConverters时,会发生此错误。默认情况下,Spring Boot的restTemboard提供了可以转换布尔响应的消息转换器。
但是,如果您覆盖消息转换器列表,例如下面的-restemplate。setMessageConverter(Arrays.asList(新的ByteArrayHttpMessageConverter())
然后,Spring Boot将无法转换消息。
只需验证您正在使用的
restemplate
实例中添加了哪些消息转换器,并检查MappingJackson2HttpMessageConverter
是否存在。或者,您可以使用自己的自定义消息转换器。
我试图在应用程序的另一个模块中访问SpringRESTendpoint。因此,我尝试使用REST模板来获取用户列表,如下所示: 使用REST模板的API请求: LeadUserList类: LeadUser模型类: APIendpoint控制器类: 尽管返回类型是来自APIendpoint的JSON,但我得到了上述异常。我做错了什么? 例外情况:
我试图得到下面给出的带有SpringRest模板的响应实体。我得到了下面的错误, 代码: 我在这篇文章中尝试将媒体类型设置为Application/json。但还是一样的错误。 完整跟踪:
当通过Rest Api发布请求时,我抛出 内容类型:应用程序/json 当我尝试编写代码时,我使用以下代码 org.springframework.web.client.RestClientException:无法提取响应:没有找到合适的HttpMessageConverter响应类型[... FileUpload响应DTO]和内容类型[text/html]给出一个错误。如何转换?
我正在向另一个服务发送GET请求,该服务以以下格式返回: 我以这种方式使用响应实体: 然而,当发送GET请求时,我得到了这个响应:类型定义错误:[简单类型,类com.tdl.model.ArrayResponsePojo];嵌套异常是com.tdl.model.ArrayResponsePojo 我不知道为什么我会得到这个解释,因为我确实有构造器。这是我的pojo类: 和我的用户类: 我尝试了没有
问题内容: 使用spring,使用以下代码: 我懂了 pojo的片段: 问题答案: 从Spring的角度来看,没有一个通过注册的实例可以将内容转换为对象。感兴趣的方法是。上述所有回报的实现,包括。 由于没有人可以读取您的HTTP响应,因此处理失败,并出现异常。 如果你能控制服务器响应,修改设置到,或东西匹配。 如果您不控制服务器响应,则需要编写和注册自己的(可以扩展Spring类,see 及其子类
org.springframework.web.client.未知内容类型异常:无法提取响应:没有找到适合响应类型[类net.minidev.json.JSONObject]和内容类型[应用程序/json]的HttpMessageConzer endpoint Url还返回JSONObject,因此不知道为什么不匹配