Notice
Recent Posts
Recent Comments
Link
투케이2K
304. (TWOK/ERROR) [Android] 안드로이드 jackson 라이브러리 InvalidDefinitionException: No serializer found 에러 본문
투케이2K 에러관리
304. (TWOK/ERROR) [Android] 안드로이드 jackson 라이브러리 InvalidDefinitionException: No serializer found 에러
투케이2K 2025. 4. 21. 19:53[환경 설정 및 설명]
프로그램 : AndroidStudio
설 명 : [Android] 안드로이드 jackson 라이브러리 InvalidDefinitionException: No serializer found 에러
[설 명]
--------------------------------------------------------------------------
[개발 및 테스트 환경]
--------------------------------------------------------------------------
- 제목 : [Android] 안드로이드 jackson 라이브러리 InvalidDefinitionException: No serializer found 에러
- 테스트 환경 : 삼성 갤럭시 스마트폰 / 안드로이드 / Android
--------------------------------------------------------------------------
--------------------------------------------------------------------------
[에러 원인]
--------------------------------------------------------------------------
1. jackson 라이브러리 사용해 Class 매퍼 클래스 정보를 ObjectMapper Serializer 시리얼 라이즈 수행 시
클래스 구현 정보가 옳바르지 않아 발생하는 이슈
2. Class 내에 Get , Set 함수가 없이 클래스 생성자 구문만 정의 되어 있어 발생하는 이슈
3. 에러 발생 로그 전문 :
W/System.err: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class com.example.javaproject.C_Module.User_Module and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS)
W/System.err: at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1300)
W/System.err: at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:400)
W/System.err: at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:46)
W/System.err: at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:29)
W/System.err: at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
W/System.err: at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
W/System.err: at com.fasterxml.jackson.databind.ObjectMapper._writeValueAndClose(ObjectMapper.java:4568)
W/System.err: at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3821)
--------------------------------------------------------------------------
--------------------------------------------------------------------------
[해결 방법]
--------------------------------------------------------------------------
1. Class 클래스 구현 정보 수정 : Get , Set 함수 생성 수행
2. Class 구현 예시 :
package com.example.javaproject.C_Module;
public class User_Module {
/**
* // --------------------------------------------------------------------------------------
* TODO [클래스 설명]
* // --------------------------------------------------------------------------------------
* 1. TODO [설명] : JWE 인코딩에 사용 되는 매퍼 클래스
* // --------------------------------------------------------------------------------------
* */
// ------------------------------------------------------------------------------------------
// TODO [전역 변수 선언]
// ------------------------------------------------------------------------------------------
private String userId; // [사용자 아이디]
private String userName; // [사용자 이름]
// ------------------------------------------------------------------------------------------
// TODO [클래스 생성자 초기화]
// ------------------------------------------------------------------------------------------
public User_Module(String userId, String userName) {
this.userId = userId;
this.userName = userName;
}
// ------------------------------------------------------------------------------------------
// TODO [Get 정의]
// ------------------------------------------------------------------------------------------
public String getUserId() {
return userId;
}
public String getUserName() {
return userName;
}
// ------------------------------------------------------------------------------------------
// TODO [Set 정의]
// ------------------------------------------------------------------------------------------
public void setUserId(String userId) {
this.userId = userId;
}
public void setUserName(String userName) {
this.userName = userName;
}
} // TODO [클래스 종료]
3. ObjectMapper 사용해 Class 정보 시리얼 라이즈 예시 :
User_Module userPerson = new User_Module(
"TWOK1234",
"투케이"
);
ObjectMapper objectMapper = new ObjectMapper();
String jsonData = objectMapper.writeValueAsString(userPerson);
--------------------------------------------------------------------------
--------------------------------------------------------------------------
[참고 사이트]
--------------------------------------------------------------------------
[Jackson 자바 Object to Json 변환 라이브러리]
https://blog.naver.com/kkh0977/223062394936?trackingCode=blog_bloghome_searchlist
[android 안드로이드 JWE 토큰 생성 후 서버 Bearer 토큰 복호화 이슈 - ObjectMapper 페이로드 생성]
https://blog.naver.com/kkh0977/223840567858?trackingCode=blog_bloghome_searchlist
[JWE AES GCM 인코딩 수행 시 ObjectMapper 사용해 Payload 페이로드 매핑 방법]
https://blog.naver.com/kkh0977/223840564933?trackingCode=blog_bloghome_searchlist
[Jackson] 라이브러리 사용해 json to map 변환 실시
https://blog.naver.com/kkh0977/223074905826?trackingCode=blog_bloghome_searchlist
--------------------------------------------------------------------------
반응형
'투케이2K 에러관리' 카테고리의 다른 글
Comments