原因
KotlinのDataクラスではdefault constructorが生成されないのが原因です。
対策
一般に言われている対策は以下
- Data classにデフォルトバリューを付与して、すべてvarにする
- Data classにconstructorを作成する
ただ、自分が利用しているgoogle.api.client.http.HttpResponse.parseAsではこれをしてもうまく働かなかったので、以下の対策を行いました。
response = request.execute() dto = Gson().fromJson(response.parseAsString(), dtoClazz)
Gson()を用いて変換を行います。
本来GsonFactoryをHttpTransportに与えているので必要ないはずなのですが、仕方ないですね。Kotlinとの互換性が悪いということにしておきます。