저자는 VueJS 프론트엔드와 Django 백엔드를 사용하여 SPA를 구축하기 위해 Strawberry와 함께 GraphQL을 사용합니다. 그들은 GraphQL API와 Django 백그라운드 작업 간에 쿼리 로직이 중복되는 문제를 겪습니다. 이를 해결하기 위해 전체 요청/응답 주기를 거치지 않고 Django 내에서 Python을 통해 직접 GraphQL 쿼리를 실행합니다. 그들은 `@graphql-codegen/cli`를 사용하여 기계가 읽을 수 있는 스키마를 생성하며, 이는 프론트엔드 자산에도 사용됩니다. GraphQLSchema 클래스는 Django 환경 내에서 이러한 쿼리를 로드하고 실행하기 위해 생성됩니다. 이 클래스는 쿼리 이름으로 식별되는 영구 문서를 사용하여 Strawberry를 통해 쿼리를 실행합니다. 이 접근 방식을 통해 프론트엔드에 정의된 동일한 쿼리 로직을 백엔드 프로세스에서 재사용할 수 있습니다. 그들은 필요한 변수를 전달하여 원하는 GraphQL 작업을 이름으로 실행합니다. 이는 코드 중복을 줄이고, 코드 유지 관리성을 향상시키며, 인지적 부담을 줄이는 데 도움이 됩니다. 이 솔루션은 프론트엔드와 백엔드 전반에 걸쳐 데이터 쿼리의 일관성을 보장합니다.
wedgworth.dev
Patrick Altman: Reusing GraphQL Queries within Django
Create attached notes ...
