HttpRequestBody에 보낸 json 데이터가 Dto로 변환이 안되는데 ?
null값으로 들어가네 ??
1.
dto 필드 이름 두번째 글자에 대문자가 들어가서 Getter가 맨 앞글자를 대문자로 바꿔서
Getter이름이 앞 두글자가 대문자라서 소문자로 이어진 글자를 모두 바꿔버리는 문제는 아니고
3.내가 dto를 record로 작성헀는데 그냥 class로 바꿔서 다시 작성해볼까?
record 에서 dto로 바꾼후에 실행해서 다른 에러가 발생했다.
Jackson라이브러리가 JSON데이터를 객체로 변환할때 기본생성자를 사용하여 객체를 생성하고
Setter를 사용하여 JSON필드이름과 매칭하는 필드에 매핑합니다.
그래서 기본생성자 추가한 후에 실행하니 정상동작하였다.
record를 했을때는 왜 동작이 안 된걸까? 그냥 안 쓸래...
record에서 deSerialize가 되려면 AllArgsContructor를 lombok말고 generator로 만든다음
@JsonCreator를 붙이고 필드에 @JsonProperty를 붙여야한다고 한다.
잘 모르고 대충 복붙하니까 이런 문제가 생겼을때 왜그런지 잘 모르는 것 같기도하고 아무튼
해결하긴 했는데 원리에 대해서 이제 슬슬 알아야지 될 것 같다.