我有一段代码,用于向特定端点发出POST请求。这段代码使用了Apache的HttpClient
,我想开始使用来自Java(JDK11)的原生HttpClient
。但我不知道如何指定请求的参数。
以下是我使用Apache Httpclient的代码:
var path = Path.of("file.txt");
var entity = MultipartEntityBuilder.create()
.addPart("file", new FileBody(path.toFile()))
.addTextBody("token", "<any-token>")
.build();
而使用 HttpClient
的代码:
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(URI.create("https://myendpoint.com/"))
.POST( /* How can I set the parameters here? */ );
我该如何设置file
和token
参数?
HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://myendpoint.com/")) .header("Content-Type", "multipart/form-data") .POST(HttpRequest.BodyPublishers.ofFile(Path.of("file.txt"))) .POST(HttpRequest.BodyPublishers.ofString("token")) .build();
- Naman