Nest JS + GraphQL
#
NestJs + GraphQL 사용하기@nestjs/graphql
NestJS 에서 GraphQL을 사용하기 위해 제공해주는 GraphQL 관련 모듈graphql-tools
빠르게 Mocking 테스트 및 프로토타이핑을 지원해주는 Graphql Tool 모듈apollo-server-express
GraphQL Server 와 Express 를 통합 및 연결해주는 Connect 모듈 (Apollo Server는 수많은 Node.js HTTP 서버 프레임 워크와 함께 작동하며 커뮤니티에서 관리하는 오픈 소스 GraphQL 서버)
#
Schema or Code firstNest는 GraphQL 애플리케이션을 구축하는 두 가지 방법, 즉 코드 우선 방법 과 스키마 우선 방법을 제공
자신에게 가장 잘 맞는 것을 선택한다.
하나는 코드를 먼저 채택하면 따라야 하며 다른 하나는 스키마를 먼저 채택 할 때 사용해야합니다.
#
Code first코드 첫 번째 방법, @decorators 그리고 TypeScript 클래스들을 사용하여 GraphQL 스키마를 생성하는 방법
이 방법은 TypeScript로만 작업하고 언어 간의 컨텍스트 전환을 피하려는 경우 유용하다.
#
Schema first스키마 첫 번째 방법, GraphQL은 SDL (스키마 정의 언어) 파일의 주체로 이루어진다. SDL은 서로 다른 플랫폼간에 스키마 파일을 공유하는 언어에 구애받지 않는 방법입니다.
이 방법은 GraphQL 스키마를 기반으로 TypeScript 정의 (클래스 또는 인터페이스 사용)를 자동으로 생성하여 중복 된 상용구 코드를 작성할 필요성을 줄인다.
- TypeScript를 사용하여 코드작성하고 빠르게 스키마 생성하고싶다
Code First
- GraphQL 스키마를 작성해서 TypeScript 정의를 자동으로 생성하고싶다
Schema First
#
Getting Start With GraphQL & TypeScript패키지 설치 후 진행해야한다.
#
Code First#
Cats 서비스로 모듈화를 진행한다.- cats
- cats.module.ts
- cats.resolver.ts
cats.module.ts
cats.resolver.ts
app.module.ts