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

使用RestTemplate和Kotlin数据类调用Restendpoint

郎言
2023-03-14

试图调用返回简单json的restendpoint,但我总是失败。

结果是这样的:

{
  "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()
}
@JsonIgnoreProperties(ignoreUnknown = true)
data class GetProductMetaListResult(
        @JsonProperty("Products")
        var Products: List<ProductMetaInfo> = emptyList()
)

@JsonIgnoreProperties(ignoreUnknown = true)
data class ProductMetaInfo(
        @JsonProperty("Guid")
        var Guid: String = "",
        @JsonProperty("Name")
        var Name: String = ""
)

共有1个答案

乐刚毅
2023-03-14

由于您的API响应是以{开始的,所以它是一个JSON对象。但是您试图将它转换为列表,结果发生了异常。

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

 类似资料:
  • 我正在尝试从相应的字符串值填充Kotlin数据类。我使用GSON查看了来自Json的:Kotlin数据类,但我试图做的并不是跟踪完全相同的: 调用此函数并尝试填充以下类: 但没有欢乐。stringValue是gson.toJson(value)生成的东西,其中value是一个JSONObject。 有人知道我的断线是什么吗?

  • 问题内容: 我有这样的Java POJO类: 我有一个像这样的Kotlin数据类 如何在java变量中提供给诸如注解之类的任何变量? 问题答案: 资料类别: 到JSON: 从JSON:

  • 我正在尝试使用Spring RestTemplate发布数据,如下所示: 你能提供我一个简单的例子来实现我想要的。

  • 我刚刚开始使用Spring Boot,我想使用RestTemplate调用一个查询并返回它的结果。 如何使用RESTTemplate调用查询?还是有更好的办法做这件事?

  • 我有Java POJO课是这样的: 我有一个像这样的Kotlin数据课 如何向的任何变量提供,如Java变量中的注释?