使用OkHttps发起post,get请求同步和异步基于springboot代码怎么写
时间: 2024-02-23 17:57:09 浏览: 28
下面是使用OkHttp发起POST和GET请求的同步和异步示例,基于Spring Boot编写:
首先,需要在pom.xml文件中添加OkHttp的依赖:
```xml
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.14.1</version>
</dependency>
```
然后,编写发起POST请求的同步代码:
```java
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"key\": \"value\"\n}");
Request request = new Request.Builder()
.url("http://www.example.com/api")
.post(body)
.build();
Response response = client.newCall(request).execute();
String responseBody = response.body().string();
```
使用OkHttpClient创建一个POST请求,设置请求URL和请求体,然后使用execute()方法发送请求并获取响应,最后从响应中获取响应体。
接下来,编写发起GET请求的同步代码:
```java
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://www.example.com/api?key=value")
.build();
Response response = client.newCall(request).execute();
String responseBody = response.body().string();
```
使用OkHttpClient创建一个GET请求,设置请求URL,然后使用execute()方法发送请求并获取响应,最后从响应中获取响应体。
接下来,编写发起POST请求的异步代码:
```java
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"key\": \"value\"\n}");
Request request = new Request.Builder()
.url("http://www.example.com/api")
.post(body)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String responseBody = response.body().string();
// 处理响应
}
});
```
使用OkHttpClient创建一个POST请求,设置请求URL和请求体,然后使用enqueue()方法发送异步请求,通过实现Callback接口处理响应。
最后,编写发起GET请求的异步代码:
```java
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://www.example.com/api?key=value")
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String responseBody = response.body().string();
// 处理响应
}
});
```
使用OkHttpClient创建一个GET请求,设置请求URL,然后使用enqueue()方法发送异步请求,通过实现Callback接口处理响应。