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

Код статуса ответа в Kotlin

Первая строка ответа сервера содержит код состояния - трехзначное число. Клиент JDK кладет его в HttpResponse.statusCode. Тело при этом может быть пустым, но код все равно доступен.

Сервис httpbin.org умеет отвечать с заданным кодом по пути "/status/201". Так проверяют, что программа видит не только 200:

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 request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/status/201")) .GET() .build() val response = client.send( request, HttpResponse.BodyHandlers.ofString(), ) println(response.statusCode()) }

Обработчик ofString здесь нужен лишь как аргумент send: тело для 201 часто пустое, а код уже известен до его разбора:

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 request = HttpRequest.newBuilder() .uri(URI.create("https://httpbin.org/status/201")) .GET() .build() val response = client.send( request, HttpResponse.BodyHandlers.ofString(), ) println(response.statusCode()) println(response.body().isEmpty()) }

Выведите код ответа для "https://httpbin.org/status/404".

Отправьте запрос на "https://httpbin.org/status/204" и напечатайте код и признак пустого тела через пробел.

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