티스토리 뷰
모바일개발/안드로이드
class {CLASS_NAME} declares multiple JSON fields named {FIELDS_NAME}
에러창꼬 2022. 7. 27. 19:57상황
retrofit을 이용한 앱을 테스트하는 과정에서 발생하였습니다.
에러 메시지는 다음과 같습니다.
Caused by: java.lang.IllegalArgumentException: class com.common.retrofit.data.RetrofitTest declares multiple JSON fields named test
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:172)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:102)
at com.google.gson.Gson.getAdapter(Gson.java:489)
at retrofit2.converter.gson.GsonConverterFactory.requestBodyConverter(GsonConverterFactory.java:74)
at retrofit2.Retrofit.nextRequestBodyConverter(Retrofit.java:315)
at retrofit2.Retrofit.requestBodyConverter(Retrofit.java:293)
at retrofit2.RequestFactory$Builder.parseParameterAnnotation(RequestFactory.java:778)
... 17 more
원인
데이터 전송용 객체(VO/DTO)에 중복된 이름의 필드가 존재하여 발생
해결
에러 메시지가 {RetrofitTest} 클래스의 {test} 필드명이 중복되었다고 나왔습니다.
경로를 따라가 보니 실제로 스크린샷과 같이 중복된 이름이 존재하였습니다.
따라서 중복된 이름을 다른 이름으로 수정하니 정상 동작하였습니다.
반응형
'모바일개발 > 안드로이드' 카테고리의 다른 글
scrcpy 2.0 출시 : 이제 안드로이드폰에서 오디오까지 포함해서 화면 미러링을! (0) | 2023.03.18 |
---|---|
안드로이드 스튜디오에서 git push/pull 안될 때 해결 방법 (0) | 2022.08.22 |
Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. (0) | 2022.07.27 |
Overload resolution ambiguity. All these functions match. (0) | 2022.07.22 |
안드로이드 화면 미러링 프로그램 추천 (feat. SCRCPY) (0) | 2022.07.12 |
댓글
최근에 올라온 글
최근에 달린 댓글