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
을 추가하면 끝!!
자세한 문서는 공식문서 참고해 보자!
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