LoginSignup
10
6

More than 5 years have passed since last update.

IntelliJ IDEA で Ktor を使ってみた

Posted at

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

Application.kt
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

10
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
6