Okhttp调用第三方系统接口【随记】

Okhttp调用第三方系统接口

复制代码
依赖
<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.9.1</version>
</dependency>

复制代码
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
​
public class OkHttpExample {
​
    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();
​
        Request request = new Request.Builder()
                .url("https://api.example.com/data")
                .build();
​
        try (Response response = client.newCall(request).execute()) {
            System.out.println("Response: " + response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
​
  1. 创建一个OkHttpClient实例。

  2. 构建一个RequestBody对象,包含你要发送的数据。

  3. 创建一个Request对象,指定URL和RequestBody

  4. 使用client.newCall(request).execute()方法发送请求并获取响应。

以下是一个简单的示例,展示如何使用OkHttp发送一个HTTP POST请求:

复制代码
​
import okhttp3.*;
​
public class OkHttpPostExample {
​
    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();
​
        MediaType JSON = MediaType.parse("application/json; charset=utf-8");
        String json = "{\"key\":\"value\"}";
        RequestBody body = RequestBody.create(JSON, json);
​
        Request request = new Request.Builder()
                .url("https://api.example.com/data")
                .post(body)
                .build();
​
        try (Response response = client.newCall(request).execute()) {
            System.out.println("Response: " + response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
相关推荐
程序员清风1 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme1 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better1 小时前
学会与虚拟机对话---ASM
java
开源之眼3 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori3164 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户908324602735 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋5 小时前
DecimalFormat 与 BigDecimal
java·后端
beata5 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端
IT探险家5 小时前
你的第一个 Java 程序就翻车?HelloWorld 的 8 个隐藏陷阱
java
随风飘的云5 小时前
SpringBoot 的自动配置原理
java