1. 引言

在这个教程中,我们将讨论如何在Java HttpClient 请求中添加参数。

从Java 11开始,Java HTTPClient 已作为内置功能提供。因此,我们可以无需使用第三方库,如Apache HttpClientOkHttp 发送HTTP请求。

2. 添加参数

HttpRequest.Builder 帮助我们轻松创建HTTP请求,并使用构建者模式添加参数。

Java HTTPClient API 并没有提供直接添加查询参数的方法。尽管我们可以利用第三方库,如Apache HttpClient 中的URIBuilder 来构建请求URI字符串。让我们看看仅使用Java 11新增的功能会是什么样子:

HttpRequest request = HttpRequest.newBuilder()
  .version(HttpClient.Version.HTTP_2)
  .uri(URI.create("https://postman-echo.com/get?param1=value1&param2=value2"))
  .GET()
  .build();

请注意,我们设置了version()方法使用HTTP版本2。Java HTTPClient 默认使用HTTP 2。但如果服务器不支持HTTP 2的请求,版本会自动降级到HTTP 1.1。

此外,我们使用了GET()作为HTTP请求方法,这是默认的。如果我们不指定HTTP请求方法,将使用默认的GET方法。

最后,我们也可以使用默认配置以更简洁的形式编写相同的请求:

HttpRequest request = HttpRequest.newBuilder()
  .uri(URI.create("https://postman-echo.com/get?param1=value1&param2=value2"))
  .build();

3. 总结

在这个示例中,我们探讨了如何在Java HTTPClient 请求中添加参数。所有这些示例和代码片段的实现可在GitHub上找到。

在示例中,我们使用了由*https://postman-echo.com.*提供的示例REST端点。