feign Cannot deserialize value of type `java.util.ArrayList<java.lang.String>` from
时间: 2023-11-28 18:40:36 浏览: 175
这个错误通常意味着您的服务端返回了一个非预期的响应格式,无法被 Feign 客户端正确反序列化。可能的原因包括:服务端返回的数据类型与定义的不符;服务端返回的数据格式错误等。
为了解决这个问题,您可以尝试检查服务端返回的数据类型和格式是否正确,并确保 Feign 客户端的定义与服务端一致。另外,您也可以尝试使用自定义的反序列化器来处理非常规的响应格式。
相关问题
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is feign.codec.DecodeException: Error while extracting response for type [java.util.List<com.mcsgis.saas.system.api.domain.PropertyPriceConfig>] and content type [application/json;charset=UTF-8]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type `java.util.ArrayList<com.mcsgis.saas.system.api.domain.PropertyPriceConfig>` from Object value (token `JsonToken.START_OBJECT`); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.ArrayList<com.mcsgis.saas.system.api.domain.PropertyPriceConfig>` from Object value (token `JsonToken.START_OBJECT`) at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 1]] with root cause
这个异常是由于Feign客户端在尝试将返回的JSON响应反序列化为`java.util.List<com.mcsgis.saas.system.api.domain.PropertyPriceConfig>`时失败了。具体来说,它表明响应的JSON格式与期望的不同,导致反序列化失败。
根据异常信息,我们可以看到响应JSON的起始标记为`JsonToken.START_OBJECT`,而不是期望的`JsonToken.START_ARRAY`,这表明响应的JSON格式不是一个数组类型。可能的原因是服务端返回的JSON格式不正确,或者客户端请求的内容类型与服务端返回的内容类型不匹配。
建议检查服务端接口返回的JSON格式是否正确,并确保客户端请求的内容类型与服务端返回的内容类型一致。如果问题仍然存在,请提供更多的代码和上下文信息,以便更好地理解问题。
Error:(309,30) java: Unknown property "createdTime" in result type java.util.List<com.jst.crm.base.feign.dto.ChangeContractInfo>. Did you mean "empty"?
在你提供的代码中,存在一个错误。错误位于第309行的代码,错误信息显示在结果类型java.util.List<com.jst.crm.base.feign.dto.ChangeContractInfo>中不存在属性"createdTime"。然而,它建议你是否意味着"empty"属性。这可能是因为你的代码中使用了错误的属性名称或者该属性不存在于你提供的类中。
要解决这个错误,你可以检查你的结果类型类(com.jst.crm.base.feign.dto.ChangeContractInfo)是否包含名为"createdTime"的属性。如果没有,你需要更正代码中使用的属性名称。如果该属性确实不存在,你可能需要使用其他适当的属性。
另外,你也可以检查代码中是否存在其他错误导致该错误的出现。确保你的代码逻辑正确,并且所有的属性和方法都能够正确访问和使用。
希望这能帮助到你解决问题!如果有任何更多的问题,请随时提问。
阅读全文