Kotlin:Ktor 如何将文本响应为 html

Def*_*ake 7 kotlin ktor

我想使用库kotlin-html来生成 html 而不是 kotlinx.html。这个库只生成一个 html 文本:

p("A paragraph").render()
// => <p>A paragraph</p>
Run Code Online (Sandbox Code Playgroud)

但我找不到如何使用 Ktor 响应 html 而不是文本

fun Routing.root() {
    get("/") {
        call.respondText {"<p>A paragraph</p>"}
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码将生成一个包含文本的页面,<p>A paragraph</p>而不是 html 页面。而且似乎call.respondHtml只适用于 kotlinx.html DSL。我怎样才能使用纯文本来做到这一点?

tri*_*iad 11

您可以ContentType.Text.Html将参数指定ContentTyperespondText

call.respondText("<p>foo</p>", ContentType.Text.Html)
Run Code Online (Sandbox Code Playgroud)

ContentType.Text.Plain如果没有提供,则默认使用ContentType