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

相关推荐
间彧16 小时前
Java线程池详解与实战指南
java
用户2986985301416 小时前
Java 使用 Spire.PDF 将PDF文档转换为Word格式
java·后端
渣哥16 小时前
ConcurrentHashMap 1.7 vs 1.8:分段锁到 CAS+红黑树的演进与性能差异
java
间彧16 小时前
复用线程:原理详解与实战应用
java
咖啡Beans18 小时前
使用OpenFeign实现微服务间通信
java·spring cloud
我不是混子18 小时前
说说单例模式
java
间彧20 小时前
SimpleDateFormat既然不推荐使用,为什么java 8+中不删除此类
java
间彧20 小时前
DateTimeFormatter相比SimpleDateFormat在性能上有何差异?
java
间彧20 小时前
为什么说SimpleDateFormat是经典的线程不安全类
java