LoginSignup
1
0

More than 5 years have passed since last update.

ことりんと一緒 Springもね - 3. 関数から波括弧省略

Posted at

概要 / 説明

ことりんと一緒 Springもね - 2. RestController と Data Classで、REST API アクセスが出来るようにコントローラクラスを追加しました。
ただし、追加した API は GET アクセスができるもののみの、非常に単純なアプリケーションでした。

今回は、PUT / POST / DELETE でのHTTP メソッドでのアクセスができるように API を追加してみます。

その中で、Kotlin での関数の書き方の1つで波括弧の省略を紹介します。

前提 / 環境

ランタイムバージョン

  • Kotlin : 1.3.0
  • SpringBoot : 2.1.0.RELEASE

Spring Dependencies

  • Web

開発環境

  • OS : Mac
  • IDE : IntelliJ IDEA
  • Build : Gradle

その他

  • APIデザイン
    • 分かりやすくするため、きちんとしたAPIデザインはしてません。GET/PUT/POST/DELETEのそれぞれのAPIに、それぞれのアクセスパスを付与しています。

手順 / 解説

以前に GET アクセス用に用意した API では、以下のように@GetMapping アノテーションを使いました。

@GetMapping(value = ["/display"])
fun getMessages() : List<Message> {...}

PUT/POST/DELETE も同様にそれぞれ @PutMapping / @PostMapping / @DeleteMapping を使って定義します。

@PutMapping(value = ["/insert"])
fun insertMessage(@RequestBody message: Message) : Message {...}

@PostMapping(value = ["/update"])
fun updateMessage(@RequestBody message: Message) : Message {...}

@DeleteMapping(value = ["/delete/{id}"])
fun deleteMessage(@PathVariable(name = "id") id: String): Boolean = {...}

関数から波括弧の省略

通常、関数を定義するときは {...} 波括弧 で囲み、その中に処理する式を記述します。
Kotlinでは、その式がただ1つの場合、波括弧を省略して記述する事ができます。
よって、次の2つの関数は同じ意味となります。

波括弧あり
@DeleteMapping(value = ["/delete/{id}"])
fun deleteMessage(@PathVariable(name = "id") id: String): Boolean {
  return true
}
波括弧省略
@DeleteMapping(value = ["/delete/{id}"])
fun deleteMessage(@PathVariable(name = "id") id: String): Boolean = true

まとめ / 振り返り

今回は関数で波括弧を省略する記述を紹介しましたが、Kotlin では他にもいろいろな省略する記述ができ、簡潔にコードを書く事ができます。

今後も Spring でアプリケーションを作っていく中で簡潔に記述出来る箇所を説明していこうと思います。

今回のソース

1
0
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
1
0