봄 부팅 응용 프로그램에서 graphQL 엔드 포인트에서 수신 메시지에서 요청 헤더를 읽는 방법

후안 호세 빌라로 보스 :

나는 유효성을 검사하고 실행하는 쿼리와 돌연변이 그러나, 나는 또 다른 엔드 포인트에 그 값을 전달하기 위해 수신 메시지에 하나의 헤더를 읽을 필요가있는 graphql 엔드 포인트 실행 스프링 부팅 응용 프로그램이 있습니다. 이러한 값을 읽을 수 graphql있는 방법이 있나요? 일부 대해 getHeaders의 종류 또는 같은?

켄 찬

이 GET HTTP header.It 자신의 ways.So를 사용하는 개발자에게 달려 관련된 일을 정의하지 않도록 GraphQL 자체가 네트워크를 통해 노출하는 방법에 관련된 일을 정의하지 않습니다, 당신이 사용하는 기저의 기술에 따라 달라집니다 HTTP를 통해 GraphQL 서비스를 제공합니다.

사용을 고려 graphql 스프링 부팅 하고 graphql-java-tools, 당신은 사용자 정의하지 않는 가정 GraphQLContext, 당신은 추가 할 수 있습니다 DataFetchingEnvironment귀하의 해결 기능에 인수를 다음을 얻을 GraphQLContext그것에서. 그런 다음 얻을 수있는 HttpServletRequest문맥과 헤더에 액세스 :

    public Foo resolveFoo(Map<String,String> input , DataFetchingEnvironment env){

        GraphQLContext context =  env.getContext();
        HttpServletRequest request = context.getHttpServletRequest().get();
        request.getHeader("content-type");
    }

추천

출처http://43.154.161.224:23101/article/api/json?id=186382&siteId=1