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

相关推荐
rannn_1112 分钟前
【Redis|高级篇1】分布式缓存|持久化(RDB、AOF)、主从集群、哨兵、分片集群
java·redis·分布式·后端·缓存
PD我是你的真爱粉6 分钟前
Redis 持久化、过期删除、淘汰策略与内存碎片全解析
java·redis·bootstrap
添尹7 分钟前
Go语言基础之指针
开发语言·后端·golang
2401_8274999910 分钟前
python项目实战10-网络机器人01
开发语言·python
Percep_gan11 分钟前
在芋道自定义数据权限
java·数据库
哆啦阿梦11 分钟前
Java AI 应用工程师 - 完整技能清单
java·开发语言·人工智能
VT LI13 分钟前
Lua 源码执行流程全解析:词法分析、语法分析、字节码生成、虚拟机执行与垃圾回收
java·开发语言·lua
凤山老林2 小时前
04-Java JDK, JRE和JVM
java·开发语言·jvm
小成202303202658 小时前
Linux高级02
linux·开发语言
camellias_8 小时前
【无标题】
java·tomcat