Uber Eats
Uber Eats # 2 graphql
Daniel환
2021. 3. 6. 13:08
graphql document를 참고해서 설치하기
$ npm i @nestjs/graphql graphql-tools graphql apollo-server-express
graphql과 apollo-server-express로 동작
app.module.ts를 제외하고 나머지 삭제(app.controller.spec.ts, app.controller.ts, app.service.ts)
app.module은 main.ts에서 import되는 유일한 모듈이다. main.ts는 application을 실행해준다.
NestFactory가 AppModule로부터 application을 생성한다. 따라서 AppModule이 데이터베이스를 가져오고 GraphQL 등등을 다 가져온다.
GraphQL 모듈을 AppModule에 넣어준다.
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
@Module({
imports: [
GraphQLModule.forRoot()
],
controllers: [],
providers: [],
})
export class AppModule {}
forRoot()는 rootModule을 설정한다. 여기서는 GraphQL이 root에 해당한다.
이후 실행 시 에러를 만난다.
Error: Apollo Server requires either an existing schema, modules or typeDef
GraphQL을 실행하려면 resolver, schema 등이 있어야 하는데 없어서 나는 에러이다.
다음 장에서 살펴보도록 하자.