QuickStart

预计阅读时间:3分钟

Ktor logo

Ktor是一个框架,可轻松构建连接的应用程序-Web应用程序,HTTP服务,移动和浏览器应用程序. 现代连接的应用程序需要异步以向用户提供最佳体验,而Kotlin协程提供了强大的功能来轻松,简单地实现此目的.

尽管还不完全存在,但Ktor的目标是为连接的应用程序提供端到端的多平台应用程序框架. 当前,支持JVM客户端和服务器方案以及JavaScript,iOS和Android客户端,并且我们正在努力将服务器设施引入本机环境,并将客户端设施引入其他本机目标.

目录:

Set up a Ktor project

您可以使用MavenGradlestart.ktor.ioIntelliJ插件来设置Ktor项目.

该插件允许您创建一个Ktor项目以及start.ktor.io ,但具有将其完全集成到IDE中的额外便利.

1) In a first step, you can configure the project to generate and select features to install:

2) In a second step, you can configure the project artifacts:

就是这样. 将创建一个新项目并在您的IDE中打开.

Hello World

Ktor中的一个简单的hello世界如下所示:

Ktor Hello World

  1. 在这里定义一个普通的可调用main方法 .
  2. 然后, 使用Netty作为后端创建一个嵌入式服务器 ,该服务器将侦听端口8080 .
  3. 通过一个块安装路由功能 ,您可以在其中定义特定路径和HTTP方法的路由.
  4. 实际路线:在这种情况下,它将处理对/demo路径的GET请求 ,并将以HELLO WORLD!答复HELLO WORLD! 信息.
  5. 实际启动服务器并等待连接.
Main.kt
import io.ktor.application.*
import io.ktor.http.*
import io.ktor.response.*
import io.ktor.routing.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*

fun main(args: Array<String>) {
    val server = embeddedServer(Netty, port = 8080) {
        routing {
            get("/") {
                call.respondText("Hello World!", ContentType.Text.Plain)
            }
            get("/demo") {
                call.respondText("HELLO WORLD!")
            }
        }
    }
    server.start(wait = true)
}

Accessing your application

由于您有main方法,因此可以使用IDE执行它. 这将打开一个HTTP服务器,侦听http://127.0.0.1:8080 ,您可以尝试使用自己喜欢的Web浏览器打开它.

如果这不起作用,则可能是您的计算机已经在使用该端口. 您可以尝试更改端口8080(第10行)并根据需要进行调整.

Ktor Hello World Browser

此时,您应该已经运行了一个非常简单的Web后端,因此您可以进行更改并在浏览器中查看结果.

由于已使用应用程序插件和mainClassName配置了Gradle项目,因此您也可以使用Linux / Mac上./gradlew run或Windows计算机上gradlew run在终端上运行它.

Walkthroughs

by  ICOPY.SITE