IntelliJ IDEA で Ktor を使ってみた

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。

IntelliJ IDEA で Ktor のアプリケーションを作った時のメモ。

Ktorとは

JetBrains社(Kotlinを開発している企業)が提供する軽量なwebフレームワーク。 公式サイト

Ktor プラグインのインストール

「Configure」 -> 「Plugins」 を選択する。 スクリーンショット 2019-03-23 18.51.19.png

プラグイン管理画面が表示されるので、検索ボックスに「Ktor」と入力後、Enterキーを押下する。 スクリーンショット 2019-03-23 18.52.07.png

検索を実行すると、Ktorプラグインが表示されるので、「Install」を押下する。 スクリーンショット 2019-03-23 18.52.29.png

インストール完了後、「Restart IDE」を押下するか、「OK」を押下する。 「OK」押下の場合、IDEの再起動を催促される。 スクリーンショット 2019-03-23 18.52.40.png

アプリケーションの作成

「Create New Project」を押下する。 スクリーンショット 2019-03-23 18.53.22.png

プラグイン一覧の「Ktor」を選択後、「Next」を押下する。 スクリーンショット 2019-03-23 18.58.16.png

特に変更せず、「Next」を押下する。 スクリーンショット 2019-03-23 18.58.47.png

プロジェクト名を入力後、「Finish」を押下する。 スクリーンショット 2019-03-23 18.59.14.png

「Create directories for empty content roots automatically」にチェックを入れる。 ※ 「Create directories for empty content roots automatically」にチェックを入れておくと、自動で必要なディレクトリ作ってくれる。 スクリーンショット 2019-03-23 19.00.23.png

プロジェクトが作成されるので、「Application.kt」を編集する。 スクリーンショット 2019-03-23 19.04.01.png

package com.example

import io.ktor.application.*
import io.ktor.response.*
import io.ktor.request.*
import io.ktor.routing.get      // GET用
import io.ktor.routing.routing  // ルーティング用

fun main(args: Array<String>): Unit = io.ktor.server.netty.EngineMain.main(args)

@Suppress("unused") // Referenced in application.conf
@kotlin.jvm.JvmOverloads
fun Application.module(testing: Boolean = false) {
    routing {
        get("/") {  // ルートパスの定義
            call.respondText("Hello Ktor!!")
        }
    }
}

「Application.kt」の編集後、アプリケーションを起動する。 スクリーンショット 2019-03-23 20.08.46.png

起動に成功すると、デフォルトでは「localhost:8080」で立ち上がる。 スクリーンショット 2019-03-23 20.11.27.png

※ ちなみに、ポート番号やデータベースの接続先情報は「application.conf」に定義する。 スクリーンショット 2019-03-23 20.13.08.png

ブラウザやPostman等で、「localhost:8080」にアクセスする。 スクリーンショット 2019-03-23 19.10.53.png