Spring boot 使用RestTemplate和Kotlin数据类调用Rest端点
尝试调用返回简单json的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
{
"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
?