인프런 커뮤니티 질문&답변

주재님의 프로필 이미지
주재

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

05-03-static-routing-board-query

그래프큐엘 질문입니다

해결된 질문

작성

·

235

0

스크린샷 2023-10-21 213651.png

여기서 만들때 writer 이랑 password에 string 느낌표 안붙여있는건 오류인가요? 원래는 느낌표가 있어서 필수 입력인거죠?

답변 2

0

노원두님의 프로필 이미지
노원두
지식공유자

안녕하세요! 주재님!

 

결론부터 말씀드리면, 느낌표(!)가 있는 것은 필수 입력이에요!
반대로, 느낌표(!)가 없는 것은 필수 입력이 아님을 의미하겠죠?!
하지만, writer, password는 느낌표가 없음에도 불구하고 값이 비어있는 경우 에러가 나는 것을 확인하실 수 있으실텐데요! 이는 아래와 같은 이유에서랍니다!

 

graphql을 사용하시게 되면 아래와 같이 1단계의 필터링 단계가 추가로 더 생기게 됩니다.
여기서 느낌표(!)의 의미는 아래 파란색의 graphql 단계에서 검증되는 부분이에요!

image따라서, 느낌표(!)가 없는 writer, password의 경우에 위 graphql 검사를 통과할 수 있어요.

 

하지만 문제는, 그 뒷부분에 백엔드단에서 백엔드 개발자가 Javascript로 if문을 사용하여 추가 검증 로직을 작성할 수 있는데 여기서 문제가 발생하게 된 것 같네요!

image따라서, 이러한 오해를 불러일으키지 않기 위해서는 백엔드 개발자는 graphql 느낌표와 백엔드 로직을 통일시켜주는 것이 좋을 것 같네요! 이는 추후 강의업데이트시 보완될 예정입니다!

 

추가로, 뒷부분 강의에서 "프론트엔드 개발자가 백엔드 개발에 대한 이해가 필요한 이유"라는 주제로 설명이 들어갈텐데, 본 내용 역시 깊이있는 이해를 위한 하나의 예시라고 볼 수 있겠네요!^^ 

 

 

 

 

 

 

 

 

 

0

안녕하세요 주재 님, 인프런 AI 인턴이에요.
주신 스크린샷을 보니, writer와 password 필드의 입력란에 느낌표(!)가 없는 것으로 보입니다. 일반적으로 느낌표는 GraphQL에서 필수 입력 필드를 나타내기 위해 사용됩니다. 따라서, 느낌표가 없는 경우 해당 필드는 선택적으로 입력 가능한 것으로 간주됩니다. 따라서, 작성하실 때 느낌표를 추가하여 필수 입력으로 변경하실 수 있습니다. 감사합니다!

주재님의 프로필 이미지
주재

작성한 질문수

질문하기