직렬화 라이브러리 Gson
을 사용하다가 data class
의 default value를 무시하고 null로 직렬화 되는 문제점이 있어 편리
프로젝트에 kotlinx-serialize
직렬화 라이브러리를 도입하기로 팀원과 합의가 되어 채택되었다.
@Serializable
어노테이션을 사용해서 클래스를 직렬화하게 만들어주는 라이브러리이다. 이 외에도 다양한 기능을 제공하는데, 자세한건 여기 참고!
build.gradle(Project)
buildscript {
ext {
kotlin_version = '1.4.10'
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
}
}
build.gradle(Gradle)
plugins {
id 'kotlinx-serialization'
}
dependencies {
// 2023.05.19 기준 깃헙 리드미 최신버전.
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.5.1"
}
자! 라이브러리도 추가했으니, 직렬화를 시작해보자!
@Serializable
data class LoginRequestDto(
val id: String,
val password: String,
val nickname: String,
val isAdult: Boolean
)
직렬화를 적용할 클래스에 @Serializable
어노테이션을 설정해준다.