Recent Posts
Recent Comments
라떼는말이야
[Android] Retrofit2 - Unable to invoke no-args constructor for interface retrofit2.http.Url. 본문
오류메시지
[Android] Retrofit2 - Unable to invoke no-args constructor for interface retrofit2.http.Url.
MangBaam 2022. 1. 21. 02:21반응형
java.lang.RuntimeException: Unable to invoke no-args constructor for interface retrofit2.http.Url. Registering an InstanceCreator with Gson for this type may fix this problem.
레트로핏 사용을 하는데 위와 같은 오류가 발생했다.
서버에서 내려주는 데이터
{
"id": 4,
"title": "세상에서 제일 맛집!! 여기로 와요!!",
"price": "18,000원",
"lat": 35.219413,
"lng": 126.853902,
"imgUrl": "https://i.picsum.photos/id/131/200/200.jpg?hmac=q40x2oH1ZEkSm4ghNQ71nzzO07pbbG7hmn4J4KEtG-8"
}
모델 - 수정 전
data class HouseModel(
val id: Int,
val title: String,
val price: String,
val lat: Double,
val lng: Double,
val imgUrl: Url
)
서버에서 받은 Json 데이터를 HouseModel 이라는 타입으로 매핑해서 객체로 만들어야 하는데 이때 Gson이 사용된다.
이런 상황에서 위와 같은 오류가 발생했던 것인데 이는 Gson이 제대로 매핑해주지 못해서 발생한 오류라고 판단됐다.
모델 - 수정 후
data class HouseModel(
val id: Int,
val title: String,
val price: String,
val lat: Double,
val lng: Double,
val imgUrl: String
)
imgUrl의 타입을 String으로 변경하니 위 사진과 같이 정상적으로 데이터를 받아오는 것을 확인했다.
이미지를 표시할 때 Glide를 사용했는데 load 부분에서 uri를 사용할 수 있다는 것만 생각하고 imgUrl의 타입을 Url로 했던 것이 실수였다.
여러 타입이 가능하고 string도 가능하므로 받아온 그대로를 사용해도 된다.
반응형
'오류메시지' 카테고리의 다른 글
[Android Studio] Invocation failed Unexpected end of file from server 오류 (GitHub Push 오류) (5) | 2022.06.13 |
---|---|
[안드로이드 스튜디오] 'mainMergedManifest' does not exist. 문제 해결 (0) | 2021.07.23 |
[인텔리제이] 코틀린 오류: 기본 클래스 을(를) 찾거나 로드할 수 없습니다. (0) | 2021.07.20 |
윈도우10 powershell 실행 시 0x80070002 오류 발생 (0) | 2021.06.01 |
윈도우 업데이트 이후 발생하는 작업 표시줄 오류 (OS 빌드 19041.985, 19042.985 및 19043.985) (4) | 2021.05.24 |
[Android] 에뮬레이터 오류. Waiting for all target devices to come online (0) | 2021.03.19 |
[안드로이드] specified for property 'mainMergedManifest' does not exist 오류 해결 방법 (0) | 2021.03.14 |
[오류메시지] ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION (0) | 2020.12.01 |
Comments