如何从使用对象的RestTemplate对象中获取生成的URL信息... uriVariables [重复] 。

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

字符串 url = "http:/localhost:8080get{var1}?var2={var2}".我使用的是 restTemplate.postForEntity(url, entity, String.class,var1, var2); /其中 var1, var2 是 uriVariables。

我使用 restTemplate.postForEntity(url, entity, String.class,var1, var2); /其中 var1, var2 是 uriVariables。

现在,我在尝试通过 restTemplate 进行点击时,得到了一些错误,我相信这可能是由于 uriVariables 的定位不正确造成的。那么有没有办法获得由 restTemplate 对象生成的 URL 信息。这样我就可以检查restTemplate是否击中了正确的端点。

spring-boot url resttemplate string-interpolation
1个回答
0
投票
     String url = UriComponentsBuilder
                .fromHttpUrl(http://localhost:8080/get)
                .queryParam("var1", <value of var1>)
                .queryParam("var2", <value of var2>);
                .toUriString()

然后用这个url与resttemplate一起使用。

  ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, null, String.class);

HttpStatus statusCode = responseEntity.getStatusCode();
System.out.println("status code - " + statusCode);
String userDetails = responseEntity.getBody();
System.out.println("response body - " + userDetails);
HttpHeaders responseHeaders = responseEntity.getHeaders();
System.out.println("response Headers - " + responseHeaders);
© www.soinside.com 2019 - 2024. All rights reserved.