생성자의 매개변수가 1개일 때 500서버 오류 잡는 법

컴공거북이·2024년 11월 25일

<Jackson이 생성자 매개변수를 처리하는 2가지 방법>
1. Delegate-based Creator
생성자의 매개변수가 JSON 전체(객체 전체)라고 판단하고 처리

ex) 이 객체 전체가 매개변수구나

{
	"name":"sejong"
}
  1. Property-based Creator
    매개변수가 JSON의 특정 필드라고 판단하고 처리

ex) 이 객체안의 name이라는 값이 매개변수구나...
"name":"sejong"

<오류사항>
생성자의 매개변수가 2개 이상일 경우 Property 방식으로 처리가 되지만
매개변수가 1개일 경우 Delegate 방식으로 처리할 지, Property방식으로 처리할 지 모호성이 생기므로 오류가 발생

<해결방법>
생성자 위에 @JsonCreator(mode = JsonCreator.Mode.PROPERTIES)을 붙여 Property방식으로 매개변수 처리방식을 명시적으로 나타내주면 됨

profile
잘못된 정보가 있을 경우 언제든 댓글로 남겨주세요 :) 감사합니다!!

0개의 댓글