LoginSignup
3
6

More than 5 years have passed since last update.

Spring Boot(Kotlin) + GradleでAPIを書いてAzure Web Appにデプロイする。

Last updated at Posted at 2018-09-13

環境構築

IntelliJをつかう。

1. プロジェクトをつくる

Spring Initializer https://start.spring.io/

GradleKotlinと、プラグインにWebを設定してダウンロード。

2. プロジェクトを読み込む

IntelliJでFileOpenで作成したプロジェクトを開く。

Use auto-importにチェックを入れる。

実装

一通り実装するとsrc/main/kotlin配下はこんな感じになる。

- com
  - example
    - BootApp.kt
    - MyController.kt
    - Main.kt

メインクラス(Main.kt)

おまじない。

Main.kt
fun main(args: Array<String>) {
    runApplication<BootApp>(*args)
}

BootApp.kt

おまじない。

BootApp.kt
@SpringBootApplication
class BootApp : SpringBootServletInitializer()

コントローラクラス(MyContoroller.kt)

この例だとlocalhost:8080に行くと"Hello"が返ってくる。

MyController.kt
@RestController
class MyController {

    // URLに対応する処理を書いていく
    @RequestMapping("/")
    fun hello(): String {
        return "Hello"
    }

    // http://localhost:8080?name=hoge
    // みたいにGETパラメータをもらいたいときはこう
    @RequestMapping("/paramTest")
    fun paramTest(@RequestParam(value = "name") name: String): String {
        return name
    }
}

ローカルサーバで動作確認

gradleでbootRunタスクを実行するだけ。

コマンドラインでやりたい場合はこう↓

./gradlew bootRun

実行するとhttp://localhost:8080で立ち上がる。

Azureへデプロイ

warをつくってAzure Web Appに置く手順。

1. warプラグインを入れ、warを有効にする。

build.gradle
apply plugin: 'war'
war {
    enabled = true
}

2. warをつくる

gradleでwarタスクを実行する。

build/libsの中にwarが生成される。

3. Azure Web Appのアプリケーション設定でJava, Tomcatを設定する

4. warをAzure Web AppのwwwRoot/webappsにおく

App Service Editorを開く。

App Service Editorを開いたら、エクスプローラからwarをドラッグ&ドロップする。

※画像ではすでにpractice-0.0.1-SNAPSHOTフォルダに展開されているが、warを置いたあとアプリのURLへ1度行かないと展開されないので注意。

5. Web AppのURLへ行く

warが展開される。

結構時間かかる場合もあるのでページ読み込み終わるまで気長に待つ。

URLは以下のようになる。
https://***.azurewebsites.net/[warファイルの名前]/

参考

  1. Spring Boot (Kotlin) はじめの一歩
    https://qiita.com/Yuki10/items/aef152f300a500b85725
3
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
3
6