使用resttemplate执行API时提供通用类,而不是mapper类

问题描述 投票:0回答:1

我正在尝试为其中一个API编写集成测试,但是它返回一个XML对象,在这里我没有任何对应的类可以映射。没有上课怎么办?

这是我的代码

HttpHeaders authHeaders = new HttpHeaders();
authHeaders.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
authHeaders.add("Authorization", "Bearer "+oAuthToken );

UriComponentsBuilder builder=UriComponentsBuilder.fromUriString(PES_END_POINT + PES_RESOURCE)

   .queryParam("count", "100")
   .queryParam("app-name", "bb")


 HttpEntity entity = new HttpEntity(authHeaders);

 Object response = restTemplate.exchange(builder.toUriString(), HttpMethod.POST, entity , Class<T> ); --> Here what generic class can I provide?

任何帮助将不胜感激。

spring rest resttemplate rest-assured
1个回答
0
投票

只需使用ObjectMapper

        ResponseEntity<String> response = restTemplate.exchange(builder.toUriString(), HttpMethod.POST, entity , String.class); 
        JavaType javaType = objectMapper.getTypeFactory().constructType(yourClass);
        YourGenericClass<T> result = objectMapper.readValue(response.getBody(), javaType);
© www.soinside.com 2019 - 2024. All rights reserved.