20211016のJavaに関する記事は2件です。

【Java】Qiita デイリー LGTM 数ランキング【自動更新】

他のタグ AWS Android Docker Git Go iOS Java JavaScript Linux Node.js PHP Python Rails React Ruby Swift TypeScript Vim Vue.js 初心者 集計について 期間: 2021-10-18 ~ 2021-10-19 GitHub スターをもらえるととっても励みになります LGTM 数ランキング ランキングに入る記事が見つかりませんでした。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

SpringBootのプロジェクトにlombok導入する

はじめに 前回、SpringBootの始め方で簡単なAPI作成ができるようにしました。今回は前回の記事にlombokを導入してボイラーコードを減らせるようにしつつJSONでPOSTされた結果をもとにレスポンスを返すようにしてみようと思います。 Lombokの導入 Lombokってなに? Lombokは Javaにおけるボイラープレートコードをソースコードから排除するために使用するライブラリです。 例えばgetterやsetterをJavaでは書くことが多いのですがこれらのコードを書かなくても良くすることで本質的に必要ではないコードを減らすことができます。 build.gradleの設定 前回作成したbuild.gradleにorg.projectlombok:lombokを追加します。 build.gradle plugins { id 'org.springframework.boot' version '2.5.5' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' // Lombokを使用するために追加 compileOnly 'org.projectlombok:lombok' } test { useJUnitPlatform() } 準備といえばこれくらいでlombokは簡単に導入できます。 eclipseになんかlombok用の設定が必要だった気もしているのですが…(コンパイルはできるけど入力補助してもらえないと思います) 既にその設定が入ってしまっているので、自分の環境では再現できませんのでうまくいかなかったときにはその視点で見てみていただければと思います。 JSONの内容をそのまま返すようなエントリーポイント作成 リクエストの作成 TestRequest.java package com.example.demo.app.request; import lombok.Data; @Data public class TestRequest { private String test; } レスポンスの作成 TestResponse.java package com.example.demo.response; import lombok.Data; @Data public class TestResponse { private String test; } エントリーポイントの作成 前回作ったコントローラーにtest2を追加します。 TestController.java package com.example.demo.app.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import com.example.demo.app.request.TestRequest; import com.example.demo.response.TestResponse; @RestController public class TestController { @GetMapping("/test") public String test() { return "Hello World"; } @PostMapping("/test2") public TestResponse test2(@RequestBody TestRequest request) { var response = new TestResponse(); response.setTest(request.getTest()); return response; } } 見ると分かるのですがTestRequestやTestResponseにはgetterやsetterを記載してませんが、@DataのアノテーションがついているためgetTestやsetTestが使えます。(@Dataはほかにもいろんなコードが追加されますがここでは省略) 動作確認 JSONをリクエストしてみると下記の通りそのままJSONを返却してくれるようになってます。 おわりに lombokを使うのは長くJavaをやってきた人にとって抵抗がある人もいるんじゃないかと思いますが、実際に使ってみると便利なことも多いなと思いますし、今回紹介したものだけでなくいろんなコードの省略が可能なのでぜひ使ってみていただければと思います。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む