반응형
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, //에러 포맷 설정
}),
...
반응형
'BackEnd > Nest' 카테고리의 다른 글
[NestJS] TypeORM > CustomRespository 사용방법 (2) | 2024.01.21 |
---|---|
[NestJS] NestJS에 Guard를 사용해 Role을 적용해보기 - 기록용 (0) | 2024.01.21 |
[Nest]네스트JS에서 GraphQL 에러 다루기 [Formmat]: 기록 (0) | 2024.01.20 |
[Nest.js] Jest > e2e테스트 detectOpenHandles (0) | 2024.01.20 |
TypeORM 설치 (0) | 2024.01.13 |