1. 발생 원인
retrofit을 사용해서 데이터를 전달받을 때, response로 설정한 값과 들어온 값의 자료형이 다를 때 생기는 오류입니다.
예를 들어 제가 response에 해당하는 데이터 클래스를 다음과 같이 했다고 가정하겠습니다.
data class RefrigeratorResult(
val beerImgUrl: BeerImage,
val nameKr: String,
val beerId: Int
)
그런데 데이터가 실제로는 이런 형식으로 전달된다고 하겠습니다.
data class RealRefrigeratorResult(
val beerImgUrl: String,
val nameKr: String,
val beerId: Int
)
이때 저는 beerImgUrl 이라는 변수를 BeerImage라는 객체로 선언했는데, 실제로 들어온 값은 String 자료형이었습니다. 따라서 이때 이 오류가 발생합니다.
2. 해결 방법
이 둘을 통일시켜주면 됩니다.
위 예시로 설명하자면, beerImgUrl 이 String 자료형으로 들어오기 때문에, 이를 BeerImage라는 객체가 아니라 String으로 바꾸어주면 됩니다.
728x90
반응형
'Android > 에러' 카테고리의 다른 글
could not find Fragment constructor (0) | 2021.12.22 |
---|---|
Missing required view with ID (0) | 2021.12.21 |
android:exported (0) | 2021.12.13 |
Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter intent (0) | 2021.11.22 |
resource android:color/system_neutral1_1000 not found (0) | 2021.10.04 |