Окончательный проект

Что такое Ktor?

Ktor — это асинхронная платформа для создания микросервисов, веб-приложений и многого другого, написанная на Kotlin.

Предпосылки

Прежде, чем начать этот урок:

  • Установите Intellij IDEA.

  • Убедитесь, что плагин Ktor установлен и включен (для удобной работы с фреймворком).

Создание нового проекта

Чтобы создать новый проект Ktor, откройте Intellij IDEA и выполните следующие действия:

  1. На экране приветствия щелкните New Project.

  2. Далее выбираем из левого списка Ktor.

  3. На правой панели вы можете указать следующие параметры: .

  • Name: укажите название проекта.

  • Location: укажите каталог для вашего проекта.

  • Build system: выберите желаемую систему сборки.

  • Website: укажите домен, используемый для создания имени пакета.

  • Artifact: в этом поле отображается сгенерированное имя артефакта.

  • Ktor version: выберите нужную версию Ktor.

  • Engine: Выберите движок, используемый для запуска сервера.

  • Configuration in: Выберите, следует ли указывать конфигурацию сервера в коде или в файле HOCON.

  • Add sample code: оставьте этот параметр включенным, чтобы добавить образец кода для подключаемых модулей, добавленных на следующей странице.

    В этом руководстве мы оставляем значения по умолчанию для этих параметров. Нажмите Next, чтобы перейти на следующую страницу.

4. На следующей странице вы можете выбрать набор плагинов — строительных блоков, обеспечивающих общую функциональность приложения Ktor, например, аутентификацию, сериализацию и кодирование контента, сжатие, поддержку файлов cookie и так далее.

А пока давайте установим только плагин Routing для обработки входящих запросов. Начните вводить routing в верхнем левом поле поиска, найдите Routing в списке и нажмите Add.

Нажмите Create и подождите, пока IntelliJ IDEA создаст проект и установит зависимости.

Теперь мы готовы запустить созданное приложение.

Запуск приложения Ktor

Чтобы запустить созданное приложение Ktor, выполните следующие действия:

  1. Вызовите представление Project и откройте файл Application.kt , расположенный по следующему пути: src /main /kotlin /com /example/ Application.kt

  1. В файл Application.kt автоматически добавляется следующий код:

package com.example

import io.ktor.server.engine.*
import io.ktor.server.netty.*
import com.example.plugins.*

fun main() {
    embeddedServer(Netty, port = 8080, host = "0.0.0.0") {
        configureRouting()
    }.start(wait = true)
}

Основные части этого кода:

  • Функция embeddedServer используется для настройки параметров сервера в коде и запуска приложения.

  • configureRouting является функцией расширения, определяющей маршрутизацию . Эта функция объявлена ​​в отдельном пакетпе plugins (файл Routing.kt ).

package com.example.plugins

import io.ktor.server.routing.*
import io.ktor.http.*
import io.ktor.server.application.*
import io.ktor.server.response.*
import io.ktor.server.request.*

fun Application.configureRouting() {

    routing {
        get("/") {
            call.respondText("Hello World!")
        }
    }
}

Функция getвнутри routingблока получает запросы GET, сделанные по пути / , и отвечает простым текстовым ответом.

  1. Чтобы запустить приложение, щелкните на значок рядом с main функцией и выберите run ApplicationKt .

  1. Подождите, пока Intellij IDEA запустит приложение. В окне инструмента Run должно появиться следующее сообщение:

    [main] INFO ktor.application - Responding at http://0.0.0.0:8080

    Это означает, что сервер готов принимать запросы по адресу http://0.0.0.0:8080 . Вы можете щелкнуть эту ссылку, чтобы открыть приложение в браузере по умолчанию:

Протестируйте приложение Ktor

Теперь протестируем созданное приложение:

  1. Откройте файл ApplicationTest.kt , расположенный по следующему пути: src /test /kotlin /com /example/ ApplicationTest.kt . В этом файле функция testApplication используется для выполнения запроса GET к / и проверки состояния и содержимого ответа.

  2. Чтобы запустить тест, щелкните на значок рядом с функцией testRoot и выберите run ApplicationTest.test .

  1. Подождите, пока IntelliJ IDEA выполнит тест и отобразит результаты в окне инструмента Run.

В дальнейшем планирую выпускать ещё статьи по данному фреймворку.

Комментарии (0)