帮我写一个springboot中发送get请求并把返回的json存入map中
时间: 2024-12-11 13:34:51 浏览: 7
在Spring Boot中,你可以使用RestTemplate或FeignClient来发送GET请求,并将响应的JSON数据解析到Map中。这里以RestTemplate为例:
首先,确保你的pom.xml文件中添加了Spring Web依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
```
然后,在你需要发送GET请求的地方,例如在一个Service类中:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate;
@Service
public class ApiService {
@Autowired
private RestTemplate restTemplate;
public Map<String, Object> sendGetRequest(String url) {
try {
// 发送GET请求
ResponseEntity<String> response = restTemplate.getForEntity(url, String.class);
// 将响应体转换为Map(假设JSON结构已知)
ObjectMapper objectMapper = new ObjectMapper();
Map<String, Object> jsonMap = objectMapper.readValue(response.getBody(), Map.class);
return jsonMap;
} catch (IOException e) {
throw new RuntimeException("Failed to parse JSON from the GET request", e);
}
}
}
```
在这个例子中,`url`是你需要请求的具体地址。`ObjectMapper`是Jackson库的一部分,用于JSON与Java对象之间的转换。
阅读全文