Programing/GraphQL

type definition for root mutation type 'mutation' not found 오류 해결

세기루민 2023. 1. 30. 16:41
728x90

안녕하세요! 세기 무민입니다.

최근 들어 회사 업무하다가  조그만하게 GraphQL을 도입해보려고 생각중이라서 

틈틈히 GraphQL+Spring 구조로 테스트 중인데 

테스트를 하다가 발견한 오류?라기보단 실수를 공유해보려고 합니다. 


type definition for root mutation type 'mutation' not found

제가 접근했던 방식은 2가지입니다.

1. application.yml 파일에 선언한 GraphQL 내용 체크(해결 X) 

  - tools /  servlet에서 간혹 경로가 틀리거나 내용이 다르게 등록되어 오류가 발생할 수 있어서 이부분은 체크 포인트

2. graphqls schema 파일 확인(해결 O)

"JSON Type"
scalar JSON
scalar DATE

schema {
    query: Query
    mutation: Mutation
}

# 조회 
type Query{
	getBlackListToPermanentSuspension(input: BlackListCustReqDto): String
}

type BlackListCustReqDto {
    custid: String
    blacklistyn: String
    blacklistchangedate: DATE
}

위의 코드는 예시로 작성한 코드입니다. 

기존에 작성된 코드가 위와 비슷했는데 2가지의 방법으로 해결하면 됩니다. 

1. schema 부분에 Mutation 제거

2. graphqls 파일 내용에 Mutation Type 추가 

대부분 수정 및 삭제 로직이 들어가는 경우라면 Mutation Type을 추가하는 방식으로 해결하면 되지만 

조회만 하는 경우라면 Mutation을 제거하시면 위의 오류는 해결됩니다. (저는 2번..ㅎ)


graphQL이 익숙하다고 생각했는데 생각보다 실수를 많이 하는거 같아서 아쉽답니다..ㅠㅠ

그래도 이 또한 저의 성장이라고 생각하니 나름 뿌듯하네요 ㅎㅎ

다음에는 더 유익한 포스팅으로 찾아오겠습니다. 

728x90