오류대처

[오류대처] There was an unexpected error (type=Internal Server Error, status=500).Failed to convert from type [java.lang.Object] to type [byte[]] for value

내가 그린 코딩 그림 2023. 5. 5. 16:58
반응형

There was an unexpected error (type=Internal Server Error, status=500).
Failed to convert from type [java.lang.Object] to type [byte[]] for value 

 

소셜 로그인 기능을 만들던 중 위와 같은 에러가 발생했다.

 

결론부터 말하자면 직렬화를 구현해줘야하는 상황이며 User엔티티를 SeesionUser클래스를 만들어 엔티티와 세션을 위한 엔티티 분리하고 직렬화를 해주면서 아래와 같이 간단하게 해결이 가능하다.

 

 

직렬화는 컴퓨터에서 객체나 구조를 바이트 스트림으로 변환하는것을 뜻하는데 소셜 로그인을 도입하기 위한 상황에서도 포함이 된다.

 

여기서 선택지는 두 가지로 기존 User엔티티에 직렬화를 추가하는것과 직렬화 기능이 존재하는 클래스를 새로 만드는 것이 있는데 여느 책에서나 강의에서도 고유 엔티티는 건드리지 말라는 것이 결론이다. 엔티티는 서로 관계를 맺게 되는데 여기서 원하는 자식만이 아닌 모든 자식이 직렬화 영향을 받고 이로 인한 성능 이슈나 사이트 이펙트가 발생할 수 있기 때문이다.

 

핵심은 기본 엔티티와 목적을 위한 엔티티를 구분하자

반응형