РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1120 of 1163 menu

Метод ofString

Метод ofString класса HttpRequest.BodyPublishers создает и возвращает объект HttpRequest.BodyPublisher, телом которого является переданная строка. Такой publisher используется при построении запроса через HttpRequest.newBuilder вместе с методами POST или PUT. В первый параметр мы передаем строку, которая станет телом запроса. Второй необязательный параметр задает кодировку Charset, в которой строка будет преобразована в байты. Если кодировка не указана, используется UTF-8.

Синтаксис

HttpRequest.BodyPublishers.ofString(body) HttpRequest.BodyPublishers.ofString(body, charset)

Пример

Давайте создадим publisher тела запроса из строки и посмотрим на его тип:

import java.net.http.HttpRequest; public class Main { public static void main(String[] args) { HttpRequest.BodyPublisher publisher = HttpRequest.BodyPublishers.ofString("abcde"); System.out.println(publisher); System.out.println(publisher.contentLength()); } }

Результат выполнения кода:

"jdk.internal.net.http.RequestPublishers$StringPublisher@..." "5"

Пример

Давайте создадим тело запроса из строки с явным указанием кодировки:

import java.net.http.HttpRequest; import java.nio.charset.StandardCharsets; public class Main { public static void main(String[] args) { HttpRequest.BodyPublisher publisher = HttpRequest.BodyPublishers.ofString("12345", StandardCharsets.UTF_8); System.out.println(publisher.contentLength()); } }

Результат выполнения кода:

"5"

Пример

Давайте используем ofString при построении POST-запроса с телом в формате JSON:

import java.net.URI; import java.net.http.HttpRequest; public class Main { public static void main(String[] args) { String json = "{\"name\":\"abcde\"}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com/api")) .header("Content-Type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); System.out.println(request.method()); System.out.println(request.bodyPublisher().isPresent()); } }

Результат выполнения кода:

"POST" "true"

Смотрите также

  • класс HttpRequest.BodyPublishers,
    который содержит фабричные методы для создания тела запроса
  • метод ofFile,
    который создает тело запроса из файла
  • метод noBody,
    который создает пустое тело запроса
  • метод POST,
    который задает POST-метод и тело запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить