2017-10-12 4 views
0

리소스에 액세스하기 위해 사용자가 인증되어야하는 작업 getFoo이 있습니다.단일 쿼리에서 돌연변이와 쿼리를 결합하는 방법은 무엇입니까?

사용자는 돌연변이 authenticate을 사용하여 인증합니다. 사용자가 인증되면

mutation { 
    authenticate (email: "foo", password: "bar") { 
    id 
    } 
} 

이 두 가지 일이 :

  1. 요청 컨텍스트 쿠키는 그러나

을 만들어

  • 인증 세부 충실, 나는 싶습니다 단일 요청에 인증 및 getFoo 메소드 호출을 결합하십시오.

    mutation { 
        authenticate (email: "foo", password: "bar") { 
        id 
        } 
    } 
    query { 
        getFoo { 
        id 
        } 
    } 
    

    후자는 구문 오류를 생성합니다.

    돌연변이와 검색어를 결합하는 방법이 있습니까?

  • 답변

    0

    GraphQL 사양에 따라 하나의 요청으로 돌연변이와 쿼리를 보낼 방법이 없습니다.

    그러나 임의의 필드를 변이 탑재량에 추가 할 수 있습니다. 예를 들어 당신이 authenticate 돌연변이에 대한 지원을 할 필요가 쿼리의 소수에 불과,이 위해 할 수있는,이있는 경우 그래서 :

    mutation { 
        authenticate (email: "foo", password: "bar") { 
        id 
        getFoo { 
         id 
        } 
        } 
    } 
    

    하루의 끝에서, 그것은 돌연변이를 유지하기 위해 더 좋을 수도 및 별도의 쿼리. 이처럼 많은 돌연변이에 많은 쿼리를 포함 시키려면 아주 빨리 털이 있습니다. 추가 요청의 오버 헤드 문제는 여기에 표시되지 않습니다.