環境
- OS: macOS Mojave
- Spring boot version: 2.1.4.RELEASE
例外発生と対処まで
Spring bootでRest Controllerを作成して、ブラウザのアドレスバーにURLを入力してリソースを取得しようとすると以下のような例外が発生しました。
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class <エラーが出たクラス名> and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: <レスポンスのクラス名>["<対象の項目名>"]->java.util.ArrayList[0]-><エラーが出たクラス名>["<エラーが出た項目名>"])
エラーが発生したクラスでは、getterを用意していなかったので、これが怪しいと思い、getterを追加したら治りました。考えてみれば当たり前かもしれませんが、外部のクラスから取得できる形にしておかないとJSONに変換する時に変換対象項目を取得できずに例外が発生するみたいですね。