data class UserRto(val lastName: String, val firstName: String, val email: String, val password: String) {
constructor() : this("", "", "", "")
}
これは、引数なしで2番目のctorを取得する最も簡単な方法ですか(json desrialization用)?Kotlinの空のセカンドctor
data class UserRto(val lastName: String, val firstName: String, val email: String, val password: String) {
constructor() : this("", "", "", "")
}
これは、引数なしで2番目のctorを取得する最も簡単な方法ですか(json desrialization用)?Kotlinの空のセカンドctor
すべてのパラメータがデフォルト値を持っている場合は、ちょうどその場合の規則は(:)パラメータなしのコンストラクタが生成されることがあります:明示的な空のコンストラクタと
//Kotlin
data class UserRto(val lastName: String = "",
val firstName: String = "",
val email: String = "",
val password: String = "")
//Java
new UserRto();
new UserRto("a", "a", "a", "a");
あなたのソリューションは、すべてのパラメータがなければなりません利点を持っています提供された、または提供されない。しかし、ほとんどの場合、大したことではなく、めったに使用されません。
使用しているJSON逆シリアル化ライブラリを指定していません。このセカンダリコンストラクタはまったく必要なく、すべてのプロパティをパラメータとして含むクラスコンストラクタで直接動作する可能性があります。ジャクソン
Googleはこれらのライブラリや他のライブラリでも他のものを見つけるかもしれません。
その後、あなただけの必要があるでしょう:
data class UserRto(val lastName: String, val firstName: String, val email: String, val password: String)
そして、単にあなたが希望ジャクソンKotlinモジュールと:
val user: UserRto = jacksonObjectMapper().readValue(jsonString)
間違った質問をして、そしてXYの問題(のhttpされている可能です。 // xyproblem.info/)...デフォルトの空のコンストラクタを持たないKotlinデータクラスのJSONをどのように非直列化するのですか?もしそうなら、私は以下の答えを加えました。 –