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

Метод POST

Метод POST класса HttpRequest.Builder создает и возвращает новый построитель HttpRequest.Builder, в котором уже установлен HTTP-метод POST и тело запроса. В первом параметре мы передаем тело запроса в виде объекта HttpRequest.BodyPublisher. Тело можно создать с помощью класса HttpRequest.BodyPublishers, например, методом ofString для отправки строки или ofFile для отправки файла. Метод возвращает построитель, поэтому вызовы можно выстраивать в цепочку, добавляя URI, заголовки и таймаут.

Синтаксис

builder.POST(bodyPublisher)

Пример

Давайте создадим POST-запрос с телом в виде строки и выведем его метод и URI:

import java.net.URI; import java.net.http.HttpRequest; public class Main { public static void main(String[] args) { HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com/api")) .POST(HttpRequest.BodyPublishers.ofString("abcde")) .build(); System.out.println(request.method()); System.out.println(request.uri()); } }

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

"POST" "https://example.com/api"

Пример

Давайте отправим POST-запрос с телом и заголовком Content-Type и выведем тело ответа:

import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; public class Main { public static void main(String[] args) throws Exception { HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com/api")) .header("Content-Type", "text/plain") .POST(HttpRequest.BodyPublishers.ofString("12345")) .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString() ); System.out.println(response.statusCode()); System.out.println(response.body()); } }

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

200 "response body"

Пример

Давайте создадим POST-запрос без тела с помощью метода noBody:

import java.net.URI; import java.net.http.HttpRequest; public class Main { public static void main(String[] args) { HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://example.com/api")) .POST(HttpRequest.BodyPublishers.noBody()) .build(); System.out.println(request.method()); } }

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

"POST"

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

  • класс HttpRequest.Builder,
    который создает HTTP-запросы
  • метод GET,
    который создает GET-запрос
  • метод header,
    который добавляет заголовок запроса
  • метод ofString,
    который создает тело запроса из строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить