본문 바로가기

카테고리 없음

[spring]com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "resultcode" (class dormitoryProj.dto.NaverResult), not marked as ignorable (0 known properties: ])

네이버 oauth를 연결하던 중 에러가 발생했다.

이유는 Dto클래스인 NaverResult에 getter 또는 setter를 설정하지 않았기 때문임. json to object로 데이터를 바인딩 할 때 jackson의 ObjectMapper를 사용했다. 여기서 ObjectMapper가 json을 object로 변환하기 위해서는(데이터를 바인딩하기 위해서는) 기본생성자와, getter or setter가 필요하다. 이는 직렬화, 역직렬화, 리플렉션(?)키워드가 연관되어 있다. 아직 나도 잘 모름. 

쨋든 해결방법은 기본생성자와, getter or setter를 만들어 주면 된다. getter, setter중 하나만 만들면 된다.

 

직렬화와 관련된 친절한 설명을 찾아서 링크.

https://medium.com/@lunay0ung/basics-%EC%A7%81%EB%A0%AC%ED%99%94-serialization-%EB%9E%80-feat-java-2f3eb11e9a8

 

Basics: 직렬화(Serialization)란? (feat. Java)

객체를 저장하거나 메모리, 데이터베이스 혹은 파일로 옮기려면 어떻게 해야할까? 이럴 때 필요한 것이 직렬화다. 직렬화란 객체를 바이트 스트림으로 바꾸는 것, 즉 객체에 저장된 데이터를 스

medium.com

https://devlog-wjdrbs96.tistory.com/268

 

[Java] 직렬화(Serialization)란 무엇일까?

Serializable에 대해서 알아보기 직렬화라는 용어에 대해서 들어만 보고 공부해본 적은 없는데 이번 기회에 정리를 하게 되었습니다,, 이번 글에서는 직렬화 에 대해서 알아보겠습니다. public interfac

devlog-wjdrbs96.tistory.com