Consuming REST APIs in Java with HttpClient
Make HTTP GET and POST requests with the native Java 11+ client. With a simulator where you pick the endpoint and see the request and response.
Desde Java 11 no necesitas librerías externas para hablar con una API: HttpClient,
HttpRequest y HttpResponse vienen en el JDK (paquete
java.net.http).
HttpClient cliente = HttpClient.newHttpClient();
HttpRequest peticion = HttpRequest.newBuilder()
.uri(URI.create("https://api.ejemplo.com/usuarios/1"))
.header("Accept", "application/json")
.GET()
.build();
HttpResponse<String> respuesta = cliente.send(peticion, HttpResponse.BodyHandlers.ofString());
System.out.println(respuesta.statusCode()); // 200
System.out.println(respuesta.body()); // {"id":1,"nombre":"Ana", ...}
Request simulator
Elige un endpoint y un método. Verás el código Java que lo construye y la respuesta simulada.
Reading the JSON data
respuesta.body() es texto. Para trabajar con los campos, se usa una librería como Jackson o
Gson: Usuario u = new ObjectMapper().readValue(body, Usuario.class);. En este demo
extraemos un campo directamente.
Status codes
| Código | Significa |
|---|---|
200 OK | Todo bien, aquí están los datos |
201 Created | Se creó el recurso (típico tras un POST) |
400 Bad Request | La petición está mal formada |
401 Unauthorized | Falta autenticación (token, API key) |
404 Not Found | El recurso no existe |
500 Internal Server Error | Falló el servidor |
respuesta.statusCode() antes de fiarte del cuerpo.Check what you've learned
/posts/99999 y no existe. ¿Qué código esperas?respuesta.body() con BodyHandlers.ofString() devuelve…