Request Bodies and Headers
POST data and set headers.
Request Bodies and Headers
GET requests rarely need a body, but POST, PUT, and PATCH do. The JDK HTTP client uses BodyPublisher objects to supply request bodies and builder methods to set headers.
This lesson covers sending data and controlling headers like Content-Type.
BodyPublishers.ofString
The simplest publisher sends a string body. Pass it to the POST(...) method on the request builder.
BodyPublishers.noBody() exists for requests with no body.
import java.net.URI;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
public class Main {
public static void main(String[] args) {
String json = "{\"name\":\"Ada\"}";
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://example.com/users"))
.POST(BodyPublishers.ofString(json))
.build();
System.out.println("Method: " + request.method());
}
}All lessons in this course
- java.net.http.HttpClient
- Async Requests
- Request Bodies and Headers
- Handling Responses