Docs Menu
Docs Home
/ /
GraphQL API

GraphQL을 WunderGraph로 마이그레이션

중요

최신의 정확한 정보는 항상 MongoDB Atlas 와 WunderGraph 의 공식문서를 참조하세요. 구체적인 단계는 프로젝트 의 세부 정보와 사용된 기술에 따라 달라질 수 있습니다.

WunderGraph 는 광범위한 오픈 소스 도구 및 SDK가 장착된 포괄적인 개발자 플랫폼입니다.

이러한 도구 중 하나는 프론트엔드용 백엔드(BFF) 프레임워크입니다. 이 BFF 프레임워크는 프로덕션 환경에 추가할 수 있는 강력한 사양 호환 서버 프레임워크 입니다. 이 프레임워크 모든 소스의 데이터를 통합할 수 있습니다. 여기에는 MongoDB Atlas 의 데이터가 포함됩니다. 자세한 내용은 Atlas 용 WunderGraph Docs 페이지를 참조하세요. GraphQL Federation을 사용할 계획이라면 WunderGraph Cosmo를 살펴보세요.

WunderGraph BFF는 데이터를 번들로 제공하고 프론트엔드 프레임워크 를 위한 유형 안전 클라이언트를 생성하는 오픈 소스 게이트웨이입니다. 또한 후크를 사용하여 비즈니스 로직을 추가하거나 사용자 지정 GraphQL 리졸버 를 사용하여 클라이언트를 데이터베이스에서 분리할 수 있습니다.

다음은 GraphQL 호스트를 Atlas App Services에서 WunderGraph로 마이그레이션하는 방법에 대한 개요입니다. 구체적인 단계는 프로젝트의 세부 정보와 사용된 기술에 따라 달라질 수 있습니다.

1
# Init a new project
npx create-wundergraph-app my-project --example simple
# Move to the project directory
cd my-project
# Install dependencies
npm i
2

다음 스크립트를 package.json 에 추가하여 WunderGraph 서버를 실행할 수 있도록 합니다.

{
"scripts": {
"start": "wunderctl up --debug",
"build": "wunderctl generate"
}
}
3
npm run start

서버를 시작한 후 WunderGraph는 몇 가지 코드 생성을 수행합니다. http://localhost:9991 에서 서버 상태를 확인합니다.

4

MongoDB Atlas 데이터 소스를 구성해야 합니다. wundergraph.config.ts 파일 내에 다음을 추가합니다.

wundergraph.config.ts
const Atlas = introspect.mongodb({
apiNamespace: 'my_db',
databaseURL: 'YourAtlasURL',
});
configureWunderGraphApplication({
apis: [Atlas],
});
5

Atlas 데이터로 작업하려면 쿼리 작업을 추가해야 합니다. operations 폴더로 이동하여 Users.graphql 라는 새 GraphQL 파일을 만들고 다음을 추가합니다.

/operations/Users.graphql
{
Mongo_findFirstusers {
id
name
email
}
}
6

WunderGraph 서버를 실행하고 쿼리 작업을 추가한 후에는 GraphiQL 사용자 인터페이스를 사용하여 GraphQL API를 통해 Atlas 데이터를 탐색할 수 있습니다. 이는 앱을 개발 중일 때 유용할 수 있습니다. 프로덕션 앱의 경우 WunderGraph의 JSON-RPC 인터페이스를 사용하는 것이 좋습니다(다음 단계 참조).

  1. WunderGraph 서버가 실행 중인 상태에서 http://localhost:9991/graphql 로 이동합니다.

  2. GraphiQL 사용자 인터페이스에 다음 쿼리를 추가합니다.

    query Users {
    db_findManyusers {
    id
    name
    email
    }
    }
  3. 재생 버튼을 클릭합니다.

7

GraphiQL은 개발에는 유용하지만 프로덕션 환경에서는 WunderGraph의 JSON-RPC 인터페이스를 사용하여 Atlas 데이터와 상호 작용하는 것을 고려해야 합니다.

즉, WunderGraph는 GraphQL 작업을 호출할 수 있는 JSON-RPC 엔드포인트로 컴파일합니다.

wunderctl up 를 실행한 후 WunderGraph는 .wundergraph/operations 디렉토리에서 *.graphql 파일을 확인하고 처리합니다. 이 작업을 수행하려면 각 파일에 정확히 하나의 GraphQL 작업이 포함되어야 합니다.

각 파일은 JSON-RPC 엔드포인트로 컴파일됩니다. 엔드포인트의 이름은 파일 이름에 따라 결정됩니다.

다음은 JSON-RPC API 쿼리의 예시입니다.

curl http://localhost:9991/operations/Users
8

GraphQL API 엔드포인트와 상호 작용하는 모든 클라이언트 애플리케이션이 새로운 WunderGraph 엔드포인트 URL을 가리키도록 업데이트합니다.

9

GraphQL API 엔드포인트가 완전히 마이그레이션되어 WunderGraph에서 작동하는지 확인한 후에는 불필요한 비용을 방지하기 위해 MongoDB Atlas App Services 앱 삭제 수 있습니다. 참고로 Atlas GraphQL 엔드포인트는 9월 30 부터 더 이상2025 지원되지 않습니다.

WunderGraph 코스모 Docs 여러 GraphQL API를 결합하여 통합 그래프 생성하는 분산된 GraphQL 아키텍처를 빌드 방법을 학습 보세요.

Cosmo를 사용하면 팀과 조직이 GraphQL 아키텍처를 쉽게 관리하고 확장할 수 있습니다. 구성 검사를 통해 중단 없이 빠르게 반복할 수 있습니다.

WunderGraph Cosmo는 로컬, 온프레미스 또는 클라우드에서 관리형 서비스로 쉽게 실행할 수 있습니다. Cosmo는 배터리가 포함된 솔루션으로, 전체 플랫폼의 라우팅부터 분석에 이르기까지 모든 것을 포괄합니다.

Cosmo는 모놀리식 GraphQL API와 구독을 포함한 Federation v1 및 v2 를 지원합니다.

돌아가기

Apollo로 마이그레이션