title: Apollo Client query ​Missing field __typename
body: <p>I am trying to use <code>apollo-link-rest</code> with the Star Wars API and I am getting some errors.</p>
  
  <pre><code>import { InMemoryCache } from "apollo-cache-inmemory";
  import { ApolloClient } from "apollo-client";
  import { RestLink } from "apollo-link-rest";
  import gql from "graphql-tag";
  
  // node environment?
  const fetch = require("node-fetch");
  global.fetch = fetch;
  global.Headers = fetch.Headers;
  
  const restLink = new RestLink({
    endpoints: { swapi: "https://swapi.co/api/" }
  });
  
  const client = new ApolloClient({
    link: restLink,
    cache: new InMemoryCache()
  });
  
  const query = gql`
    query people {
      search
        @rest(type: "Search", path: "people/?search=skywalker", endpoint: swapi) {
        count
        results {
          name
        }
      }
    }
  `;
  
  client
    .query({ query })
    .then(response =&gt; console.log(JSON.stringify(response)))
    .catch(err =&gt; console.log(err));
  </code></pre>
  
  <p>Errors:</p>
  
  <pre><code>​​​Missing field __typename in {​​​
  ​​​  "name": "Luke Skywalker"​​​
  ​​​}​​​
  ​​​​​​
  ​​​Missing field __typename in {​​​
  ​​​  "name": "Anakin Skywalker"​​​
  ​​​}​​​
  ​​​​​​
  ​​​Missing field __typename in {​​​
  ​​​  "name": "Shmi Skywalker"​​​
  ​​​}​​​
  </code></pre>
  
  <p>I know I can change set this <code>InMemoryCache({ addTypename: false })</code> to remove the errors, but I don't know what the impact on caching will be if I set <code>addTypename</code> to <code>false</code>.</p>
  
  <p>Can someone point me in the right direction on this?</p>
  
  <p>Cheers!</p>