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、查询参数和其他请求配置。

相关推荐
贾斯汀玛尔斯1 小时前
每天学一个算法--LSM-Tree(Log-Structured Merge Tree)
java·算法·lsm-tree
bitt TRES1 小时前
springboot与springcloud对应版本
java·spring boot·spring cloud
Y001112361 小时前
JavaWeb-end
java·servlet·web
bzmK1DTbd2 小时前
Git版本控制:Java项目中的分支管理与合并策略
java·开发语言·git
Rust研习社2 小时前
为什么 Rust 没有空指针?
开发语言·后端·rust
kyriewen112 小时前
WebAssembly:前端界的“外挂”,让C++代码在浏览器里跑起来
开发语言·前端·javascript·c++·单元测试·ecmascript
JWASX4 小时前
【RocketMQ 生产者和消费者】- 事务源码分析(1)
java·rocketmq·java-rocketmq
其实防守也摸鱼4 小时前
CTF密码学综合教学指南--第九章
开发语言·网络·python·安全·网络安全·密码学·ctf
砚底藏山河4 小时前
Python量化开发:2026最佳实时股票数据API接口推荐与对比
开发语言·windows·python
AlunYegeer5 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端