2017-10-13 3 views
0

にアポロクライアントからGraphQLクエリを送信することはできません。フロントエンドの大きさで、私は私の反応/ Reduxのプロジェクトのためのアポロクライアントを使用しています。ここでは、私は、プラグイン<a href="https://github.com/rmosolgo/graphql-ruby" rel="nofollow noreferrer">graphql-ruby</a>を使用してGraphQLバックエンドとしてのRailsを使用していRailsのGraphQLバックエンド

が私の先端側である:私のバックエンドで

const networkInterface = createNetworkInterface({ 
    uri: 'http://localhost:4001/graphql', 
}); 
export const apolloClient = new ApolloClient({ networkInterface }); 

、私はhttp://localhost:4001/graphiqlに成功し、次のクエリをテストしています。私は、フロントエンド側から同様のデータを取得しようと

if Rails.env.development? 
    mount GraphiQL::Rails::Engine, at: "/graphiql", graphql_path: "/graphql" 
    end 

    post "/graphql", to: "graphql#execute" 

query{ 
    allAuthors{ 
    full_name, 
    books{ 
     book_name, 
     book_description, 
     isbn 
    } 
    } 
} 

は、ここに私のレールのルート設定です。ここに私のコードは次のとおりです。

const ALL_AUTHORS_QUERY = gql` 
     query allAuthors { 
     full_name, 
     books{ 
      book_name, 
      book_description, 
      isbn 
     } 
     } 
    `; 
    apolloClient 
     .query({ 
     query: ALL_AUTHORS_QUERY, 
     }) 
     .then(response => console.log(response.data)); 
    } 

しかし、その後、私は例外次会う:

POST http://localhost:4001/graphql 422 (Unprocessable Entity) 

私が間違って持っているものを教えてください?おかげ

@Edit 1: 私はまた、別のクライアント上のクエリが、問題はまだ同じことをしてみてください。クライアント側では

const ALL_AUTHORS_QUERY = gql` 
    query { 
    allAuthors { 
     full_name 
     books { 
     book_name 
     book_description 
     isbn 
     } 
    } 
    } 
`; 
apolloClient 
    .query({ 
    query: ALL_AUTHORS_QUERY, 
    }) 
    .then(response => console.log(response.data)); 

答えて

0

allAuthorsがGraphQL型である場合、あなたはあなたのクエリallAuthorsを命名しました。オプションのクエリーに名前を付ける必要はありません。しかし、allAuthorsは、クエリのルートの必要な型です。

query allAuthors {それがこのquery { allAuthors

+0

のようにする必要があるとき、あなたのクエリは、これで始まりますが、詳細に私のために説明することができますしてください。理解できません。 –

+0

あなたが言ったように私が更新しました。問題は依然として同じです。私はあなたの質問のために私の質問を更新しました。見てください。 –

関連する問題

 関連する問題