Spring 引导 - 如何通过带有查询参数的 url 发送 POST 请求并将响应存储在方法中?
Spring Boot - How to send a POST request via a url with query parameters and store the response inside a method?
我有一个由 GET 方法生成的 url,格式有点像这样:
https://service-name/api?param1=<value1>¶m2=<value2>¶m3=<value3>.....
我需要点击这个 url 并将响应(类型为 application/x-www-form-urlencoded
)存储到一个变量中,该变量将被进一步使用。
问题是它需要在方法内部完成(获取 url 并传递它以获得响应)。
怎么办?
对于要使用外部 API 的 spring 启动应用程序,您可以使用 RestTemplate。
下面是一个用法示例。您收到的响应是字符串类型。
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);
我有一个由 GET 方法生成的 url,格式有点像这样:
https://service-name/api?param1=<value1>¶m2=<value2>¶m3=<value3>.....
我需要点击这个 url 并将响应(类型为 application/x-www-form-urlencoded
)存储到一个变量中,该变量将被进一步使用。
问题是它需要在方法内部完成(获取 url 并传递它以获得响应)。
怎么办?
对于要使用外部 API 的 spring 启动应用程序,您可以使用 RestTemplate。
下面是一个用法示例。您收到的响应是字符串类型。
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);