在 Spring Boot 中使用 resttemplate 打印数组中的 Json 数据

Printing Json data that is in array using rest template in SpringBoot

@Component
public class JsonData {
    @JsonProperty("id")
    private Integer id;
    @JsonProperty("createdAt")
    private Date cratedAt;
    @JsonProperty("name")
    private String name;
    @JsonProperty("email")
    private String email;
    @JsonProperty("imageUrl")
    private String url;

    public JsonData() {

    }

    public JsonData(Integer id, Date cratedAt, String name, String email, String url) {
        this.id = id;
        this.cratedAt = cratedAt;
        this.name = name;
        this.email = email;
        this.url = url;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Date getCratedAt() {
        return cratedAt;
    }

    public void setCratedAt(Date cratedAt) {
        this.cratedAt = cratedAt;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }
}

Controller

@RestController
public class JsonDataController {
    @RequestMapping(value = "/template/products")
    public void getAllData() {
        RestTemplate template = new RestTemplate();
        String url = "https://5ef99e4bbc5f8f0016c66d42.mockapi.io/testing/data";
        ResponseEntity < JsonData[] > response = template.exchange(url, JsonData[].class);
        for (JsonData jsonData: response.getBody()) {
            System.out.println(jsonData.getName());
            System.out.println(jsonData.getEmail());
        }
    }
}

I am trying to print json data that is array using rest template but I am getting error in this line "ResponseEntity < JsonData[] > response = template.exchange(url, JsonData[].class);" my error is "cannot resolve method" Can anyone tell me correct way of doing this .I am new to spring I do not have proper understanding it would be helpful if some one can give their suggeestion in this code

RestTemplate 没有任何签名为 exchange(String, Class<T>).

的方法

这就是 template.exchange(url, JsonData[].class);.

出现“无法解析方法”错误的原因

下面是 one of the methods from RestTemplate.exchange API 的正确用法示例:

RestTemplate restTemplate = new RestTemplate();
ResponseEntity<JsonData[]> response = restTemplate.exchange(url, HttpMethod.GET, null, JsonData[].class);

RestTemplate 还有另一种方法 - getForEntity,它使用给定的 URL 和预期的 return 类型进行 GET 调用。 (无需为不需要的字段传递 null)

        RestTemplate template = new RestTemplate();
        String url = "https://5ef99e4bbc5f8f0016c66d42.mockapi.io/testing/data";
        ResponseEntity <JsonData[]> response = template.getForEntity(url, JsonData[].class);