繁体   English   中英

如何在 Spring 引导中使用外部 API

[英]How to consume an external API in Spring Boot

我想使用 API 中的 Json。 API 看起来像这样:

{
  "allStudents": [
    {
      "fname": "Jack",
      "age": 22,
      "courses": {
        "name": "AI"
      }
    },
    {
     ..
    },
    ..
  ]
}

我正在努力解决所有数据都在一个数组中的事实。

我创建了一个Student Class

public class Student {
    private String name;
    private int age;
    private List<Course> courses;
}

与所有的吸气剂和二传手。

如何使用此 API 中的数据?

我尝试了以下方法:

Student[] students= restTemplate.getForObject(url, Student[].class);

但这不起作用并给出错误JSON parse error: Cannot deserialize instance of Student out of START_OBJECT token

需要解析外层object。

添加另一个 class

public class StudentList {
  List<Student> allStudents;
}

然后使用.getForObject(url, StudentList.class);

你需要一个

class ResultContainer {
    Student[] allStudents;
}

然后将结果解析为

Student[] students = restTemplate.getForObject(url, ResultContainer.class).allStudents;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM