JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Success stories
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • Getting to Know HTTP

    Kotlin SELF
    58 level,0 lecture
    We cover the basics of HTTP as a “contract” between the client and the server: the request → response pairing, how a URL is structured and what an endpoint is, the meaning of GET/ POST methods, the role of Accept and Content-Type headers, working with status codes ( 2xx/ 4xx/ 5xx), and the response-handling discipline “status first, then body” — with Kotlin mini-examples and common mistakes.
    Open
  • Ktor Client “without magic”: HttpClient, HttpResponse, bodyAsText()

    Kotlin SELF
    58 level,1 lecture
    We break down Ktor Client “without magic”: why you should reuse and always close HttpClient, how to get a “raw” HttpResponse, check status, and read the body via bodyAsText(). Step by step, we assemble a minimal client on the CIO engine, show a runBlocking bridge for the console, refactor into suspend functions, and fix common mistakes in network calls.
    Open
  • JSON integration in Ktor: ContentNegotiation and kotlinx.serialization

    Kotlin SELF
    58 level,2 lecture
    We break down “grown-up” JSON work in Ktor: how to connect the ContentNegotiation plugin and serialization based on kotlinx.serialization, how to describe models with @Serializable, read responses as types via response.body<T>(), send JSON via setBody(...), and not forget Content-Type. Separately, we lock in practical settings like ignoreUnknownKeys and typical mistakes (reading the body twice, mismatches between the JSON and the model, etc.).
    Open
  • Errors and resilience: non‑2xx vs exceptions, timeouts

    Kotlin SELF
    58 level,3 lecture
    We break down resilience in network code with Kotlin and Ktor: how “the server responded but the status is non‑2xx” differs from “there was no response and an exception flew in”, why you check status first and only then read the body, how to set timeouts via HttpTimeout, and how to return the result as a value (via a sealed model ApiResult) instead of println inside catch. At the end: a limited retry with a pause and a list of typical mistakes.
    Open
  • Client and scenario architecture: no “network in the CLI”

    Kotlin SELF
    58 level,4 lecture
    We’re looking at a simple learning architecture where CLI is responsible only for input/output, scenarios (use cases) turn network results into “human meaning”, and the network client hides HTTP/JSON details behind the TipsApi contract. We introduce an explicit result type ApiResult<T>, show an implementation in Ktor ( HttpClient), assemble dependencies in AppContext (composition root), and extend functionality (the ping endpoint) without “editing the whole project”.
    Open
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Success stories
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush