KotlinでSpring BootのRESTful APIを実装




どうも高妻です。Twitterでもプログラミングのことや暗号通貨のことをつぶやいているのでよかったら覗きにきてください。  

Spring Boot

これからJavaのアプリケーションを実装するならKotlinでSpring Bootをおすすめします。今回はこの2つを使ったRESTfulなCRUDサーバーの実装を簡単に紹介します。ソースコードはgithubに公開しているので参考にしてください。

https://github.com/tomokazukozuma/ToDoAppForKotlin

環境

  • Mac OS X
  • Eclipse Pleiades All in One 4.7.0
  • Java 8
  • Kotlin 1.1.3
  • Spring Boot 1.5.4.RELEASE

手順

  1. Eclipseを使ったKotlinの環境構築
  2. Flywayを使ったMySQLのマイグレーション
  3. フォルダ構成
  4. Controllerの書き方
  5. Entityの書き方
  6. Repositoryの書き方

1. Eclipseを使ったKotlinの環境構築

無料のIDEで高機能なEclipseを今回は使用します。Spring BootはSpring スターター・プロジェクトという機能で必要最小限の機能を導入してプロジェクトを始められます。今回はweb, JPA, MySQL, Flywayという機能を最初に選択します。

環境構築の詳細は下記記事を参考してください。

EclipseでSpring BootとKotlinの環境構築

 

2. Flywayを使ったMySQLのマイグレーション

環境構築が完了したら完了したら次はDBの準備をします。DBのマイグレーションにはFlywayを使用します。導入がものすごく簡単で使い始めるまでに他に何もインストールしなくて済むのでおすすめです。

Flywayの詳細は下記記事を参考にしてください。

Spring BootでFlywayを使用したMySQLのマイグレーション

今回作成するテーブルは下記2つです。このテーブルをFlywayで作るように設定してください。DB名はtodoappとしておきましょう。

 

3. フォルダ構成

参考までにフォルダ構成は下記のようにしています。

 

4. Controllerの書き方

jsonを返すRESTful APIなのでview関連の処理は何もありません。なので@RestControllerを使用してjsonを返しています。

 

5. Entityの書き方

entityは基本的にはデータを保持するだけなのでKotlinのdataクラスを使用して書きます。varで宣言するとsetter,getterをvalで宣言するとgetterが生成されます。またdataクラスはプライマリコンストラクタにプロパティを設定するだけで下記のものが生成されます。

  • equals()/hashCode()
  • インスタンスのプロパティを表示するtoString()
  • 宣言順で内容を取り出すcomponentN()
  • copy()
 

6. Repositoryの書き方

RepositoryはJavaで書いてもそんなに変化なくかけます。

 

まとめ

ソースコードを少し紹介するだけになってしまいましたが、シンプルなRestful APIなら時間もかからずにすんなりかけました。Javaを使ってる人はこの機会にKotlinを試してみてください。

他にもSpring Bootについて書いているので下記リンクを是非参照してみてください!

おすすめ書籍

JPAに関しては下記パーフェクトJava EEが非常に詳しく書かれているのでぜひ読んでみてください。







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です