Я хочу использовать библиотеку kotlin-html для создания html вместо kotlinx.html.
Эта библиотека создает просто html-текст:
p("A paragraph").render()
// => <p>A paragraph</p>
но я не могу найти, как ответить html вместо текста с помощью Ktor
fun Routing.root() {
get("/") {
call.respondText {"<p>A paragraph</p>"}
}
}
Этот код создаст страницу с текстом <p>A paragraph</p> вместо html-страницы. И похоже, что call.respondHtml работает только с kotlinx.html DSL. Как я могу сделать это с помощью обычного текста?





Вы можете указать ContentType.Text.Html для параметра ContentType в respondText
call.respondText("<p>foo</p>", ContentType.Text.Html)
ContentType.Text.Plain используется по умолчанию, если не указан ContentType.
В Ktor есть специальный модуль для работы с kotlinx.html, поэтому вы можете использовать
call.respondHtml {
head {
title { +"Async World" }
}
body {
h1(id = "title") {
+"Title"
}
}
}
Подробности здесь: https://ktor.io/servers/features/templates/html-dsl.html
у меня это не работает. Получил ошибку. «Не удается найти параметр с таким именем: id. Что такое id? Переменная, которую я должен реализовать в первую очередь?
Извините, я неправильно понял ваш вопрос. Но пусть ответ будет здесь для тех, кто ищет ...