SpringBoot x Lombok構成でJSONを返却する方法

技術

はじめに

こんにちは!さいけです。

本記事は、「SpringBoot x Lombok構成でJSONを返却する方法」について紹介します。

前提

開発環境

  • Java8
  • IntelliJ IDEA
  • SpringBoot 2.1.3.RELEASE

SpringBoot x Lombok構成でJSONを返却する方法

SpringBoot x Lombok構成でJSONを返却する方法を紹介します。

実装サンプルクラスを例に、追って説明していきます。

Controllerクラスのサンプル

リクエストパラメーターを受け取り、値を返却するコントローラクラスです。

@RestController
public class PersonController {

    @GetMapping(value = "/json")
    public PersonEntity jsonSample() {
        return new PersonEntity("john", 20);
    }
}

Entityクラスのサンプル

Entityクラスです。

Lombokアノテーションである@Getterと@AllArgsConstructorがクラスに付与されています。

@Getter
@AllArgsConstructor
public class PersonEntity {

    private String name;

    private Integer age;
}
  • @Getter … Getterクラスを自動生成してくれます。
  • @AllArgsConstructor … 全メンバをセットするためのコンストラクタを生成します。

JSONが返却されているか見てみる

curlでリクエストしてみます。

$ curl localhost:8080/json

以下のようなJSONレスポンスが返却されています。

{"name":"john","age":20}

おまけ:JSONの返却値を追加する

返却値に「Michael、22歳」を追加します。

以下のように、Controllerクラスを修正します。

    @GetMapping(value = "/json")
    public List<PersonEntity> jsonSample() {
        List<PersonEntity> personEntityList = new ArrayList<>();
        personEntityList.add(new PersonEntity("john", 20));
        personEntityList.add(new PersonEntity("Michael", 22));
        return personEntityList;
    }

以下のようなJSONレスポンスに変わります。

[{"name":"john","age":20},{"name":"Michael","age":22}]

おわりに

「SpringBoot x Lombok構成でJSONを返却する方法」について紹介しました。

今回は、一部のLombokしか利用していませんが、他にもたくさんあるので興味があれば是非調べてみてください。

 

コメント

タイトルとURLをコピーしました