resttemplate.exchange发送get拼装参数
时间: 2023-09-21 12:07:40 浏览: 108
使用RestTemplate发送GET请求并拼装参数的方式有很多种,下面给出其中一种比较常见的方式:
```java
RestTemplate restTemplate = new RestTemplate();
String url = "https://example.com/api?param1={param1}¶m2={param2}";
// 设置请求参数
MultiValueMap<String, String> queryParams = new LinkedMultiValueMap<>();
queryParams.add("param1", "value1");
queryParams.add("param2", "value2");
// 发送GET请求并获取响应
ResponseEntity<String> response = restTemplate.exchange(
url, HttpMethod.GET, null, String.class, queryParams
);
String responseBody = response.getBody();
```
上面的代码中,我们首先创建了一个RestTemplate对象,然后定义了请求URL,包含两个参数param1和param2,并使用占位符{}来表示参数值。接下来,我们使用MultiValueMap来存储请求参数,然后调用RestTemplate的exchange方法发送GET请求,并将参数传递给占位符。最后,我们获取响应体,并将其转换为字符串类型。
需要注意的是,如果请求参数中包含特殊字符,需要进行URL编码。可以使用Java自带的URLEncoder类进行编码,例如:
```java
String encodedParam = URLEncoder.encode("特殊字符", StandardCharsets.UTF_8);
queryParams.add("param", encodedParam);
```
阅读全文