Spring Boot -如何通过url发送POST请求和查询参数,并将响应存储在方法中?



我有一个由GET方法生成的url,它有点像这样的格式:

https://service-name/api?param1=<value1>&param2=<value2>&param3=<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);

最新更新