You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Java 11 HttpClient库在GET方法中发送请求体

Java 11 HttpClient GET请求携带请求体实现方案

你当前写的代码无法正常编译,因为Java 11 HttpClient内置的GET()方法为无参方法,原生不支持直接传入请求体发布器。可以通过自定义请求方法的方式实现需求,代码修改如下:

// JSON构造逻辑保持原有实现即可
String jsonBody = jsonObject.toString();

HttpRequest request = HttpRequest.newBuilder(uri)
        .header("Content-Type", "application/json")
        // 核心修改:通过method方法指定请求类型为GET,同时传入请求体
        .method("GET", HttpRequest.BodyPublishers.ofString(jsonBody))
        .build();

HttpClient client = AppHttpClient.getInstance();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

注意事项

  • 该实现仅适用于目标API明确要求GET携带请求体的场景,HTTP标准规范中GET请求语义上不推荐携带请求体,部分代理、网关服务可能会直接丢弃GET请求的请求体内容,导致请求异常。

内容的提问来源于stack exchange,提问作者khateeb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 09:06:07