Kotlin+SpringBootでWebアプリケーションを作成します!
ここではKotlinで簡単なSpringBoot Webアプリケーションを作成します
目次
SpringBoot Webアプリケーションを作成する
Web アプリケーションプロジェクトの構成
プロジェクトの構成は下記のようになります。
$ tree
kotlin-web-app
├── build.gradle.kts
├── settings.gradle.kts
└── src
├── main
│ ├── kotlin
│ │ └── com
│ │ └── example
│ │ └── kotlinwebapp
│ │ ├── GreetingRestController.kt
│ │ └── KotlinWebAppApplication.kt
│ └── resources
│ └── application.yaml
└・・・
build.gradle.ktsの作成
build.gradle.ktsを設定します。
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("org.springframework.boot") version "2.6.7"
id("io.spring.dependency-management") version "1.0.11.RELEASE"
kotlin("jvm") version "1.6.21"
kotlin("plugin.spring") version "1.6.21"
}
group = "com.example"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_11
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
testImplementation("org.springframework.boot:spring-boot-starter-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "11"
}
}
tasks.withType<Test> {
useJUnitPlatform()
}
RestControllerの作成
RestController(GreetingRestController.kt)を作成します。
package com.example.kotlinwebapp
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController
@RestController
class GreetingRestController {
@GetMapping("hello")
fun hello(): String {
return "Hello from Spring Boot App"
}
}
Serverポートの設定
application.yamlにServerポートを設定します。
server:
port: 18080
SpringBootの起動
以下のコマンドでSpringBootアプリケーションを起動します。
$ gradlew bootRun
動作確認
curlコマンドでリクエストを送り、サーバからのレスポンスを取得します。
$ curl -X GET http://localhost:18080/hello
Hello from Spring Boot App
無事、サーバからのレスポンスを取得できました!
お疲れ様でした
まとめ
以上、Kotlinで簡単なSpring Boot Webアプリケーションを作成しました。