OkHttp ,使用 HttpUrl.Builder 来添加查询参数并添加到请求对象

在使用 OkHttp 中,你可以使用 HttpUrl.Builder 来添加查询参数并将其添加到请求对象中。下面是一个示例代码:

复制代码
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class Main {
    public static void main(String[] args) throws Exception {
        OkHttpClient client = new OkHttpClient();

        // 创建一个 HttpUrl.Builder 对象,并指定基本的 URL
        HttpUrl.Builder urlBuilder = HttpUrl.parse("https://api.example.com/endpoint").newBuilder();

        // 添加查询参数
        urlBuilder.addQueryParameter("param1", "value1");
        urlBuilder.addQueryParameter("param2", "value2");

        // 构建最终的 URL
        String url = urlBuilder.build().toString();

        // 创建请求对象
        Request request = new Request.Builder()
                .url(url)
                .build();

        // 发送请求
        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());
    }
}

在上述示例中,我们首先创建了一个 HttpUrl.Builder 对象,并使用 HttpUrl.parse() 方法指定了基本的 URL。然后,使用 addQueryParameter() 方法添加查询参数。最后,通过调用 build() 方法构建最终的 URL。

注意,HttpUrl.Builder 对象是不可变的,因此每次调用 addQueryParameter() 方法时都会返回一个新的 HttpUrl.Builder 对象。因此,你可以链式调用 addQueryParameter() 方法来添加多个查询参数。

最后,我们使用构建好的 URL 创建了一个 Request 对象,并使用 OkHttpClient 来发送请求并获取响应。

请根据你的实际需求修改示例代码中的 URL、查询参数和其他请求配置。

相关推荐
北城以北888843 分钟前
RocketMQ简介
java·spring boot·后端·rocketmq
天天进步20151 小时前
Python全栈项目--基于机器学习的异常检测系统
开发语言·python·机器学习
折哥的程序人生 · 物流技术专研8 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
xxie1237948 小时前
return与print
开发语言·python
秋98 小时前
从 Python 后端工程师转型 AI Engineer(AI 工程化)的完整补课清单(2026实战版)
开发语言·人工智能·python
一条泥憨鱼8 小时前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
云烟成雨TD8 小时前
Spring AI Alibaba 1.x 系列【78】沙箱(Sandbox)
java·人工智能·spring
程序员二叉8 小时前
【Java】 异常高频面试题精讲 | 易错点+对比总结
java·开发语言·面试
周航宇JoeZhou9 小时前
JB3-9-SpringAI(二)
java·ai·agent·多智能体·调度·智能体·观察
好家伙VCC9 小时前
Web Components主题热切换方案揭秘
java·前端