목록2026/01/02 (2)
eatthefrog
최근 프로젝트에서 Apollo Client를 v4로 업그레이드하며 발생한 Namespace '...' has no exported member 에러와, 이를 해결하기 위해 아키텍처를 현대화한 과정을 공유합니다. 1. 문제의 본질: Apollo v4의 구조 변화와 "세대 차이"가장 먼저 마주한 문제는 기존의 **레거시 코드 생성 방식(Legacy Codegen)**이 Apollo Client v4의 변화된 타입 시스템을 인지하지 못한다는 점이었습니다.Internalization (타입의 내재화): Apollo v4는 패키지 경량화를 위해 기존에 최상위(Root)에서 Export하던 MutationFunction, QueryResult 같은 타입들을 useMutation.Options, useQuery.Da..
개발 과정에서 클라이언트는 분명히 데이터를 보냈고, 서버 로그에도 찍히는데, GraphQL 엔진은 "필수 변수가 제공되지 않았다"며 요청을 거부하는 이해할 수 없는 에러를 만났습니다. 1. 문제의 발단 : "Variable $name was not provided"회원가입 API호출 시 다음과 같은 에러가 발생했습니다. [ERROR] GraphQL Validation Errors: { "errors": [ { "message": "Variable \"$name\" of required type \"String!\" was not provided." } ], "variables": { "name": "홍길동" }}모순적인 상황: 로그 하단의 variables 객체에는 nic..