Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktSpHtPst 256 of 299 menu
◀ ▶

POST-запрос в Kotlin

Метод POST передает данные в теле запроса. В построителе вместо GET вызывают POST с издателем тела HttpRequest.BodyPublishers.ofString.

Форма "application/x-www-form-urlencoded" - строка пар "ключ=значение" через "&". Тип задают заголовком "Content-Type". Сервис "/post" возвращает принятое тело в ответе:

import java.net.URI import java.net.http.HttpClient import java.net.http.HttpRequest import java.net.http.HttpResponse fun main() { val client = HttpClient.newBuilder().build() val payload = "sku=axle&count=3" val request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/post")) .header( "Content-Type", "application/x-www-form-urlencoded", ) .POST(HttpRequest.BodyPublishers.ofString(payload)) .build() val response = client.send( request, HttpResponse.BodyHandlers.ofString(), ) println(response.body()) }

Ответ читают так же строкой через BodyHandlers.ofString. Разбор структуры тела здесь не нужен - достаточно увидеть, что сервер получил те же поля:

import java.net.URI import java.net.http.HttpClient import java.net.http.HttpRequest import java.net.http.HttpResponse fun main() { val client = HttpClient.newBuilder().build() val payload = "note=ship&priority=low" val request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/post")) .header( "Content-Type", "application/x-www-form-urlencoded", ) .POST(HttpRequest.BodyPublishers.ofString(payload)) .build() val response = client.send( request, HttpResponse.BodyHandlers.ofString(), ) println(response.statusCode()) println(response.body()) }

Отправьте на "/post" форму с полями "user" равным "mia" и "role" равным "editor". Выведите тело ответа одной строкой.

Выведите код ответа и полное тело после POST с одним полем "token" равным "demo" на "/post".

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить