java - RestTemplate.postForObject 和列表

标签 java spring-boot rest web-services resttemplate

嗨,我希望客户端能够使用一个安静的网络服务。我使用 springboot,该服务返回一个仅包含一个对象的 JSON 列表。 我想像这样使用 RestTemplate 的 postForObject Api

ResponseEntity<List<RetrieveRichiestaResponseDto>> result = restTemplate.postForObject(
                uri,
                entity,
                new ParameterizedTypeReference<List<RetrieveRichiestaResponseDto>>() {});

为什么它给我这个错误

> The method postForObject(String, Object, Class<T>, Object...) in the
> type RestTemplate is not applicable for the arguments (String,
> HttpEntity<capture#3-of ?>, new  
> ParameterizedTypeReference<List<RetrieveRichiestaResponseDto>>(){})

感谢帮助!

最佳答案

restTemplate.postForObject()不支持ParameterizedTypeReference<>

使用restTemplate.exchange()

ResponseEntity<List<RetrieveRichiestaResponseDto>> result = restTemplate.exchange(uri, HttpMethod.POST, entity, 
       new ParameterizedTypeReference<List<RetrieveRichiestaResponseDto>>() {});

关于java - RestTemplate.postForObject 和列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61248957/

相关文章:

java - Maven 无法找到或加载主类

java - 从 Spring Boot 应用程序的服务层中的请求获取 header

java - 如何在intellij的现有项目中添加vaadin而不是thymeleaf?

java - 更改 HEAD 请求的 Jersey 默认值

java - List 为空时 Spring Boot 返回 204 No-Content

java - Tomcat(6) 在将文本包含到结果 html 之前从 bean 中转义文本

java - 在 IntelliJ 中附加 .java 文件作为 .jar 的源?

json - 使用REST分页资源的正确方法是什么

java - 使用 Base64 将 BigInteger 转换为 String 并反转结果

gradle - 来自 gradle 的 org.gradle.api.internal.LocationAwareException