![](/img/trans.png)
[英]How to define multiple parameters for a POST request using Java 11 HTTP Client
[英]How to pass parameters in a POST() request using the new HTTP client in Java
我刚开始在 Java 中使用新的 HTTP 客户端,我不确定如何为 PUT 请求传递参数。
我正在处理的特定请求需要一个Authentication
token 和一个参数type
。
.headers()
成功处理了Authentication
令牌type
参数做同样的事情,但我收到一条错误消息,指出我没有传递type
字段。HttpClient client = HttpClient.newBuilder().build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("...")) # The API url
.headers("Authorization", token, "type", "type 1")
.POST(HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
正如@ernest_k 评论的那样,我们可以通过将参数附加到 URL 的末尾来传递参数,格式如下: ?type=type1¶m2=value2¶m3=value3¶m4=value4
HttpClient client = HttpClient.newBuilder().build();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("..." + "?type=type 1"))
.headers("Authorization", token)
.POST(HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.