resttemplate如何get请求传递多个参数
时间: 2024-04-25 08:26:23 浏览: 213
Spring cloud restTemplate 传递复杂参数的方式(多个对象)
在 RestTemplate 中使用 GET 请求传递多个参数可以通过以下方式:
1. 将多个参数拼接到 URL 中:
```java
String url = "http://example.com/api?param1=value1¶m2=value2";
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
```
2. 使用 URI 变量和参数:
```java
String url = "http://example.com/api/{param1}/{param2}";
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class, "value1", "value2");
```
3. 使用 MultiValueMap 传递多个参数:
```java
String url = "http://example.com/api";
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
params.add("param1", "value1");
params.add("param2", "value2");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class);
```
其中,第三种方式需要设置请求头,将 Content-Type 设置为 application/x-www-form-urlencoded。
阅读全文