본문 바로가기
오류

스프링 graphql DTO에 값이 제대로 들어오지 않을 때 해결법

by 개발고구마 2024. 2. 25.

스프링부트, graphql을 사용하는데 DTO를 만들어서 값을 넣어주려고했다.
근데 값이 전부 null로 들어와서 해결하게 된 과정을 적는다.

mutation & DTO 정의

mutation

dto

graphql 요청

입력된 데이터 전부 null (디버깅)

해결

왜 안들어 오는지 한참 찾았는데....
결국 문제는 DTO에 setter가 없어서 나오는 문제였다....
나는 요즘 객체들을 생성자로 넣고 setter를 사용하지 않는 추세로 안넣었지만 그게 문제가 되었다...

setter를 정의하고 난 후

결과

 

이유를 좀 더 파악해봐야 겠지만 graphql은 넣어줄 때 set을 통해 넣어주는 것 같다...
한국어로 설명해 준 글이 없어 나같은 사람이 없길 바라며 작성한다