-0.4 C
New York
Thursday, January 9, 2025

Intro to Ktor: The HTTP server for Kotlin



Now, if we wish to generate extra refined content material from that endpoint, like an inventory of quotes and their authors, we will swap to utilizing Ktor’s HTML DSL. First, we want two extra imports, that are already a part of the challenge as a result of we included the DSL within the generated challenge:


import io.ktor.server.html.*
import kotlinx.html.*


And we will generate our response like so:


routing {
  get("/") {
    name.respondHtml {
      head {
        title("Quotes")
      }
      physique {
        h1 { +"Quotes to Dwell By" }
        ul {
          listOf(
            "This Thoughts is the matrix of all matter." to "Max Planck",
            "All religions, arts and sciences are branches of the identical tree." to "Albert Einstein",
            "The thoughts is every thing. What you suppose you develop into." to "Buddha"
          ).forEach { (quote, writer) ->
       li {
         p { +quote }
         p { +"― $writer" }
       }
     }
   }
 }

That is utilizing the HTML builder features from Ktor, and it showcases a few of the flexibility in Kotlin’s purposeful syntax. The DSL features that correspond to HTML tags are readily comprehensible, and we create the identical nested construction we’d with plain HTML. In curly braces, we outline the content material nested inside every tag. It may be extra markup, textual content, variables or some mixture.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles