我有一个由GET方法生成的url,它有点像这样的格式:
https://service-name/api?param1=<value1>¶m2=<value2>¶m3=<value3>.....
我需要点击这个url并将响应(将是application/x-www-form-urlencoded
类型)存储到一个变量中,该变量将被进一步使用。
问题是它需要在方法内部完成(获取url并传递它以获得响应)。
怎么做?
对于使用外部API的spring引导应用程序,您可以使用RestTemplate。
用法示例如下。您收到的响应类型是String。
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.add("Header", "header1");
UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl("https://foo/api/v3/projects/1/labels")
.queryParam("param1", param1)
.queryParam("param2", param2);
HttpEntity<?> entity = new HttpEntity<>(headers);
HttpEntity<String> response = restTemplate.exchange(
builder.toUriString(),
HttpMethod.GET,
entity,
String.class);