Java

Uso de Java para obtener datos desde la API de indicadores.

A continuación se muestra el código de ejemplo para consultar a nuestra API desde el Lenguaje Java. El ejemplo utiliza java.net.http.HttpClient, incluido desde Java 11, y Jackson para leer el JSON. Además, envía la cabecera User-Agent para identificar el cliente.

Si usas Maven, agrega la dependencia de Jackson:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.18.2</version>
</dependency>
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;

public class FindicExample {

    public static void main(String[] args) throws Exception {
        HttpClient client = HttpClient.newBuilder()
                .connectTimeout(Duration.ofSeconds(10))
                .followRedirects(HttpClient.Redirect.NORMAL)
                .build();

        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://findic.cl/api/"))
                .timeout(Duration.ofSeconds(10))
                .header("User-Agent", "findic-docs-java/1.0")
                .header("Accept", "application/json")
                .GET()
                .build();

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

        if (response.statusCode() != 200) {
            System.err.println("Error en la solicitud: " + response.statusCode());
            return;
        }

        JsonNode data = new ObjectMapper().readTree(response.body());
        JsonNode uf = data.get("uf");

        System.out.println("Fecha: " + uf.get("fecha").asText());
        System.out.println("Valor UF: $ " + uf.get("valor").asDouble());
    }
}

Más información del objeto JSON entregado en el resumen aquí.