반응형
Waht Subscription?

 

GraphQL 구독은 서버의 실시간 메시지를 듣기로 선택한 클라이언트들에게 서버의 데이터를 푸시하는 방법입니다.

 

WebSocket이라고 이해하면 된다 !

 

SubScription 설정방법

 

노마드 우버이츠 클론코딩을보며 공부하였으나,

버전이 올라감에따라 Subscription설정방법이 바뀌어서

 

기록용으로 서술합니다 !

 

// app.module.ts


imports:[
...

    GraphQLModule.forRoot<ApolloDriverConfig>({
      driver: ApolloDriver,
      installSubscriptionHandlers: true, //구독 활성화
      subscriptions: { //Nest10버전부터는 이와같이 설정해주어야 구독이 활성화된다 !
        'subscriptions-transport-ws': {
          onConnect: (connectionParams, WebSocket, context) => {
            // header정보 는 ConnectionParams로 들어옴
            // console.log('context', context); //Context정보
            // console.log('WebSocket', WebSocket); //Websockect정보
            // console.log('connectionParams', connectionParams);
            return { message:"Hello Connection!!!!" };
          },
        },
      },
      autoSchemaFile: true, //스키마를 메모리에 저장,
      context: ({ req, connection }) => {
        if (req) {
          return req;
        }
        if (connection) {
         //구버전에서는 구독 활성화 시 Connection으로 Websocket정보가 전달되었으나,
         //Nest10버전 기준으로 undefined된 듯 함.
        }
      },
      formatError: formmatError, //에러 포맷 설정
    }),
    

...
반응형

+ Recent posts