본문 바로가기
Kotlin Spring

DataFetchingEnvironment 세팅하는 방법

by Bill Lab 2024. 12. 11.
728x90

graphql 을 사용한다는 것은 당연히 resolver 에 대한 개념도 알고 있을 것이다.

그럼 DataFetchingEnvironment 은 무엇이냐?

 

그건 각각의 resolver 단에서 사용자 정보와 같은 공통정보에 바로 접근이 가능하다는 것이다.

없을 경우? f/e 부터 받던지, JWT payload 값을 분해하는 로직을 호출해야 한다.

 

하지만, 이걸 resolver 에서 전달 받기 전에 한번에 처리해서 받으면은 어떨까??

그럴때 사용하는 것이 DataFetchingEnvironment 이다.

 

사용법은 우선 Graphql contect factory 로 하여금 어떤 context 를 생성할 것인지 명시해준다.

 

request time과 user name, user id 정도? 호출 받아서 

toGraphQLContext()로 매핑해보자!

 

그런 다음 resolver 의 parameter 값으로

env: DataFetchingEnvironment

 

을 추가하면 끝!!

 

자세한 문서는 공식문서 참고해 보자!

 

https://opensource.expediagroup.com/graphql-kotlin/docs/schema-generator/execution/data-fetching-environment/

 

Data Fetching Environment | GraphQL Kotlin

Each resolver has access to a DataFetchingEnvironment that provides additional information about the currently executed query including information about what data is requested

opensource.expediagroup.com

 

728x90