Spring boot 使用RestTemplate和Kotlin数据类调用Rest端点

Spring boot 使用RestTemplate和Kotlin数据类调用Rest端点,spring-boot,kotlin,resttemplate,Spring Boot,Kotlin,Resttemplate,尝试调用返回简单json的rest端点,但始终失败 结果如下: { "Products": [ { "Name": "ABC", "Guid": "4711" }, { "Name": "DEF", "Guid": "9876" }, { "Name": "HGT", "Guid": "159" } ] } override fun getProductMetaLis

尝试调用返回简单json的rest端点,但始终失败

结果如下:

{
  "Products": [
    {
      "Name": "ABC",
      "Guid": "4711"
    },
    {
      "Name": "DEF",
      "Guid": "9876"
    },
    {
      "Name": "HGT",
      "Guid": "159"
    }
  ]
}
override fun getProductMetaList(): List<BestProductMetaInfo> {
    val url = "https://$baseUrl/api/meta"
    return this.getForObject(url, GetProductMetaListResult::class.java)?.Products ?: emptyList()
}
我的代码是这样的:

{
  "Products": [
    {
      "Name": "ABC",
      "Guid": "4711"
    },
    {
      "Name": "DEF",
      "Guid": "9876"
    },
    {
      "Name": "HGT",
      "Guid": "159"
    }
  ]
}
override fun getProductMetaList(): List<BestProductMetaInfo> {
    val url = "https://$baseUrl/api/meta"
    return this.getForObject(url, GetProductMetaListResult::class.java)?.Products ?: emptyList()
}
覆盖getProductMetaList():列表{
val url=“https://$baseUrl/api/meta”
返回此.getForObject(url,GetProductMetaListResult::class.java)?.Products?:emptyList()
}

@JsonIgnoreProperties(ignoreUnknown=true)
数据类GetProductMetaListResult(
@JsonProperty(“产品”)
var Products:List=emptyList()
)
@JsonIgnoreProperties(ignoreUnknown=true)
数据类ProductMetaInfo(
@JsonProperty(“Guid”)
变量Guid:String=“”,
@JsonProperty(“名称”)
变量名称:String=“”
)
结果总是:

嵌套异常是 com.fasterxml.jackson.databind.exc.MismatchedInputException:无法 构造实例
GetProductMetaListResult
(尽管至少存在一个创建者):无字符串参数 从字符串值反序列化的构造函数/工厂方法


我尝试使用默认值和可空值,但所有结果都是一样的。

当API响应以{开始时,它是一个JSON对象。但当出现结果异常时,您尝试将其转换为列表


首先将其解析为JSON对象,然后从其结果中获取列表。

由于您的API响应以{开头,它是一个JSON对象。但您正在尝试将其转换为列表,因为出现了结果异常


首先将其解析为JSON对象,然后从其结果中获取列表。

您使用的是哪一个jackson版本,您是否检查过:嗯,我使用的是spring boot 2.1.3交付的jacksonIt。看起来您的api响应是字符串,但不是格式良好的JSON?您是否尝试使用postman&check result来使用api?接受的是什么标题标签:
application/json
?您使用的是哪一个jackson版本,您是否检查过:嗯,我使用的是spring boot 2.1.3交付的jacksonIt。看起来您的api响应是字符串,但不是格式良好的json?您是否尝试使用postman和检查结果来使用api?什么是
accept
标题标签:
 应用程序/json