Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What is going on with this article?
@hatakoya

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

More than 1 year has passed since last update.

環境構築

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
4
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
hatakoya
TypeScriptが好きすぎる TypeScript/React/Kotlin

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
4
Help us understand the problem. What is going on with this article?