为了账号安全,请及时绑定邮箱和手机立即绑定

ParameterizedTypeReference 的正确使用

ParameterizedTypeReference 的正确使用

繁华开满天机 2021-07-20 17:16:08
在测试中,我希望命中一个返回类型列表的端点。目前我有@Testpublic void when_endpoint_is_hit_then_return_list(){   //Given   ParameterizedTypeReference<List<Example>> responseType = new ParameterizedTypeReference<List<Example>>() {};   String targetUrl = "/path/to/hit/" + expectedExample.getParameterOfList();   //When   //This works however highlights an unchecked assignment of List to List<Example>   List<Example> actualExample = restTemplate.getForObject(targetUrl, List.class);   //This does not work   List<Example> actualExample = restTemplate.getForObject(targetUrl, responseType);   //This does not work either   List<Example> actualExample = restTemplate.exchange(targetUrl, HttpMethod.GET, null, new ParameterizedTypeReference<List<Example>>() {});   //Then   //Assert Results}getForObject 方法的问题是 ParameterizedTypeReference 使 getForObject 方法无法解析,因为类型不匹配。交换方法的问题是类型不兼容。必需的列表,但“交换”被推断为 ResponseEntity:不存在类型变量的实例,因此 ResponseEntity 符合列表在这种情况下,如何正确使用 ParameterizedTypeReference 来安全地返回我想要的 List 类型?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 2133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信