Что такое Ktor?
Ktor — это асинхронная платформа для создания микросервисов, веб-приложений и многого другого, написанная на Kotlin.
Предпосылки
Прежде, чем начать этот урок:
Установите Intellij IDEA.
Убедитесь, что плагин Ktor установлен и включен (для удобной работы с фреймворком).
Создание нового проекта
Чтобы создать новый проект Ktor, откройте Intellij IDEA и выполните следующие действия:
На экране приветствия щелкните New Project.
Далее выбираем из левого списка Ktor.
На правой панели вы можете указать следующие параметры: .
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, выполните следующие действия:
Вызовите представление Project и откройте файл Application.kt , расположенный по следующему пути:
src /main /kotlin /com /example/ Application.kt
В файл 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, сделанные по пути / , и отвечает простым текстовым ответом.
Чтобы запустить приложение, щелкните на значок рядом с
main
функцией и выберите run ApplicationKt .
-
Подождите, пока Intellij IDEA запустит приложение. В окне инструмента Run должно появиться следующее сообщение:
[main] INFO ktor.application - Responding at http://0.0.0.0:8080
Это означает, что сервер готов принимать запросы по адресу http://0.0.0.0:8080 . Вы можете щелкнуть эту ссылку, чтобы открыть приложение в браузере по умолчанию:
Протестируйте приложение Ktor
Теперь протестируем созданное приложение:
Откройте файл ApplicationTest.kt , расположенный по следующему пути: src /test /kotlin /com /example/ ApplicationTest.kt . В этом файле функция
testApplication
используется для выполнения запроса GET к / и проверки состояния и содержимого ответа.Чтобы запустить тест, щелкните на значок рядом с функцией
testRoot
и выберите run ApplicationTest.test .
Подождите, пока IntelliJ IDEA выполнит тест и отобразит результаты в окне инструмента Run.
В дальнейшем планирую выпускать ещё статьи по данному фреймворку.