spring boot 发送http
时间: 2024-09-25 12:05:32 浏览: 41
Spring Boot 提供了一种简单的方式来发送HTTP请求,通常通过其内置的`RestTemplate`或者第三方库如`Feign`、`Retrofit`等来实现。以下是基本步骤:
1. **使用`RestTemplate`**:
- 首先,在Spring Boot项目中,你需要添加`spring-web`依赖。
- 创建`RestTemplate`实例:
```java
RestTemplate restTemplate = new RestTemplate();
```
- 调用远程API:
```java
String response = restTemplate.getForObject("http://api.example.com/data", String.class);
```
2. **使用Feign** (基于Netflix开源库):
- 添加`feign-core`和对应的HTTP客户端支持(如`feign-okhttp`)依赖。
- 定义接口并注解为`@FeignClient`:
```java
@FeignClient(name = "exampleApi", url = "http://api.example.com")
public interface ExampleService {
@GetMapping("/data")
String getData();
}
```
- 使用服务:
```java
ExampleService exampleService = Feign.builder().target(ExampleService.class, "http://api.example.com");
String data = exampleService.getData();
```
3. **使用Retrofit** (另一种流行的选择):
- 添加`retrofit`和对应HTTP客户端支持的依赖。
- 定义接口:
```java
@interface API {
@GET("/data")
Call<String> getData();
}
@API("http://api.example.com")
interface RetrofitService {
}
```
- 注册并使用Retrofit实例:
```java
OkHttpClient client = new OkHttpClient();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.example.com")
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
RetrofitService service = retrofit.create(RetrofitService.class);
String data = service.getData().execute().body();
```
阅读全文