Java : HttpHeaders con ejemplos

HttpHeaders (Java SE 21 & JDK 21) en Java con ejemplos.
Encontrará ejemplos de código en la mayoría de los métodos de HttpHeaders.

Nota :


Summary

Una vista de solo lectura de un conjunto de encabezados HTTP. (Traducción automática)

Class diagram

final var uri = URI.create("https://example.com/");

final var request = HttpRequest.newBuilder(uri)
        .POST(HttpRequest.BodyPublishers.ofString("xyz"))
        .header("Content-Type", "text/plain; charset=utf-8")
        .header("Content-Language", "en")
        .build();

System.out.println(request); // https://example.com/ POST

final var headers = request.headers();

// {Content-Language=[en], Content-Type=[text/plain; charset=utf-8]}
System.out.println(headers.map());

Methods

List<String> allValues (String name)

Devuelve una lista no modificable de todos los valores de cadena de encabezado del encabezado con nombre dado. (Traducción automática)

final var uri = URI.create("https://example.com/");

final var request = HttpRequest.newBuilder(uri)
        .header("aaa", "X")
        .header("bbb", "Y1")
        .header("bbb", "Y2")
        .header("ccc", "Z")
        .build();

final var headers = request.headers();

System.out.println(headers.allValues("aaa")); // [X]
System.out.println(headers.allValues("bbb")); // [Y1, Y2]
System.out.println(headers.allValues("ccc")); // [Z]
System.out.println(headers.allValues("ddd")); // []

final boolean equals (Object obj)

Prueba la igualdad de esta instancia de encabezados HTTP con el objeto dado. (Traducción automática)

final var headers1 = HttpHeaders.of(
        Map.of(
                "aaa", List.of("X1", "X2"),
                "bbb", List.of("Y")
        ),
        (n, v) -> true);

final var headers2 = HttpHeaders.of(
        Map.of(
                "aaa", List.of("X1", "X2"),
                "bbb", List.of("Y")
        ),
        (n, v) -> true);

final var headers3 = HttpHeaders.of(
        Map.of(
                "aaa", List.of("X1", "X2"),
                "ccc", List.of("Z")
        ),
        (n, v) -> true);

System.out.println(headers1.equals(headers2)); // true
System.out.println(headers1.equals(headers3)); // false

Optional<String> firstValue (String name)

Devuelve un Opcional que contiene el primer valor de cadena de encabezado del encabezado con nombre dado (y posiblemente con varios valores). (Traducción automática)

final var uri = URI.create("https://example.com/");

final var request = HttpRequest.newBuilder(uri)
        .header("aaa", "X")
        .header("bbb", "Y1")
        .header("bbb", "Y2")
        .build();

final var headers = request.headers();

System.out.println(headers.firstValue("aaa")); // Optional[X]
System.out.println(headers.firstValue("bbb")); // Optional[Y1]
System.out.println(headers.firstValue("ccc")); // Optional.empty

OptionalLong firstValueAsLong (String name)

Devuelve un OptionalLong que contiene el primer valor de cadena de encabezado del campo de encabezado nombrado. (Traducción automática)

final var uri = URI.create("https://example.com/");

final var request = HttpRequest.newBuilder(uri)
        .header("aaa", "123")
        .header("bbb", "456")
        .header("bbb", "789")
        .build();

final var headers = request.headers();

System.out.println(headers.firstValueAsLong("aaa")); // OptionalLong[123]
System.out.println(headers.firstValueAsLong("bbb")); // OptionalLong[456]
System.out.println(headers.firstValueAsLong("ccc")); // OptionalLong.empty

final int hashCode ()

Calcula un código hash para esta instancia de encabezados HTTP. (Traducción automática)

final var headers1 = HttpHeaders.of(
        Map.of(
                "aaa", List.of("X1", "X2"),
                "bbb", List.of("Y")
        ),
        (n, v) -> true);

final var headers2 = HttpHeaders.of(
        Map.of(
                "ccc", List.of("Z")
        ),
        (n, v) -> true);

final var headers3 = HttpHeaders.of(
        Map.of(
                "ddd", List.of("123")
        ),
        (n, v) -> true);

System.out.println(headers1.hashCode()); // 107261
System.out.println(headers2.hashCode()); // 98426
System.out.println(headers3.hashCode()); // 81333

Map<String,List<String>> map ()

Devuelve una vista de múltiples mapas no modificable de este HttpHeaders. (Traducción automática)

final var uri = URI.create("https://example.com/");

final var request = HttpRequest.newBuilder(uri)
        .header("aaa", "X")
        .header("bbb", "Y1")
        .header("bbb", "Y2")
        .header("ccc", "Z")
        .build();

final var headers = request.headers();
final var map = headers.map();

System.out.println("-- for --");
for (final var entry : map.entrySet()) {
    System.out.println(entry.getKey() + " : " + entry.getValue());
}

// Result
// ↓
//-- for --
//aaa : [X]
//bbb : [Y1, Y2]
//ccc : [Z]

static HttpHeaders of (Map<String,List<String>> headerMap, BiPredicate<String,String> filter)

Devuelve encabezados HTTP del mapa dado. (Traducción automática)

final var headerMap = Map.of(
        "aaa", List.of("X"),
        "bbb", List.of("Y1", "Y2"),
        "ccc", List.of("Z")
);

final var headers1 = HttpHeaders.of(headerMap, (n, v) -> true);
System.out.println(headers1.map()); // {aaa=[X], bbb=[Y1, Y2], ccc=[Z]}

final var headers2 = HttpHeaders.of(headerMap, (n, v) -> false);
System.out.println(headers2.map()); // {}

final var headers3 = HttpHeaders.of(headerMap,
        (name, value) -> !name.equals("aaa"));
System.out.println(headers3.map()); // {bbb=[Y1, Y2], ccc=[Z]}

final var headers4 = HttpHeaders.of(headerMap,
        (name, value) -> value.equals("Z"));
System.out.println(headers4.map()); // {ccc=[Z]}

final var headers5 = HttpHeaders.of(headerMap,
        (name, value) -> value.equals("Y2"));
System.out.println(headers5.map()); // {bbb=[Y2]}

String toString ()

Devuelve estos encabezados HTTP como una cadena. (Traducción automática)

final var uri = URI.create("https://example.com/");

final var request = HttpRequest.newBuilder(uri)
        .header("aaa", "X")
        .header("bbb", "Y1")
        .header("bbb", "Y2")
        .header("ccc", "Z")
        .build();

final var headers = request.headers();

// java.net.http.HttpHeaders@31790 { {aaa=[X], bbb=[Y1, Y2], ccc=[Z]} }
System.out.println(headers.toString());

Related posts

To top of page