3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

KtorでREST APIを作成する

Last updated at Posted at 2022-02-13

hello worldまで(更新中)

・intelliJ
・java 11
・gradle

intelliJにktorのプラグインをインストールする

「File」→「Settings」→「plugin」→「ktor」で検索し、インストール

プロジェクトの作成

ktorのプラグインがインストールされていると、「File」→「New」→「Project」から、ktorプロジェクトを作成できる。

初期から使うものがわかっている場合はTemplatingにチェックを入れてから次へ
1.png

GroupIdとArtifactIdを入力して次へ(パッケージ名となります)
1.5.png

プロジェクト名を入力して作成
2.png

Getメソッドの作成

src/Application.ktが作成されているので、この中にGetで呼び出すAPIの処理を記述してみる。

package com.example

import io.ktor.application.*
import io.ktor.response.*
import io.ktor.request.*
import io.ktor.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("/hello") {
            call.respond("HELLO WORLD!")
        }
    }
}

実行してみる

「Edit Configirations...」をクリックして左上の+ボタンから「Application」を選択し、下記のように設定する
Main Classには「io.ktor.server.netty.EngineMain」を設定する(プロジェクト作成時に設定したもの)
3.png

右下の「Apply」をクリックしてから「OK」をクリックすることで「Run」ボタン(右向きの緑色の三角形ボタン)が活性化するのでクリック
下記のようなログが表示されて止まっていれば成功

2022-02-14 01:51:40.947 [main] INFO  Application - Autoreload is disabled because the development mode is off.
2022-02-14 01:51:41.986 [main] INFO  Application - Responding at http://0.0.0.0:8080

コマンドプロンプトを開いてAPIをたたいてみるとちゃんと返却される
もう少し勉強する

$ echo localhost:8080/hello
> HELLO WORLD!
3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?