반응형
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엔티티에 직렬화를 추가하는것과 직렬화 기능이 존재하는 클래스를 새로 만드는 것이 있는데 여느 책에서나 강의에서도 고유 엔티티는 건드리지 말라는 것이 결론이다. 엔티티는 서로 관계를 맺게 되는데 여기서 원하는 자식만이 아닌 모든 자식이 직렬화 영향을 받고 이로 인한 성능 이슈나 사이트 이펙트가 발생할 수 있기 때문이다.
핵심은 기본 엔티티와 목적을 위한 엔티티를 구분하자
반응형
'오류대처' 카테고리의 다른 글
[오류대처] travis-CI error ./gradlew: Permission denied (0) | 2023.07.23 |
---|---|
[오류대처] basetime entity null 받는 경우 Expecting actual not to be null (0) | 2023.05.07 |
[오류대처] oauth 구글 로그인 이름 잘못표시되는 경우 (0) | 2023.05.02 |
[오류대처] .gitignore 제대로 동작 안할 때 (0) | 2023.05.01 |
[오류대처] GetMapping 어노테이션 안되는 경우 (0) | 2023.04.19 |