如何获取URL参数或向graphql发送“获取”请求?

时间:2019-03-31 03:43:37

标签: reactjs graphql

这是问题所在,我只想使用“获取”请求将参数发送到基于graphql的服务器,因为用户可以将URL保存为书签并直接打开它,例如Restful“ www.xxx.com”中的示例? id = abc”。但是在本地环境中,我的前端侦听端口3000,而后端(graphql)侦听端口8000,因此它不能使用'www.localhost.com:3000/graphql?query={getId{id}}'发送请求,所以该怎么办?我该怎么解决?

1 个答案:

答案 0 :(得分:0)

您可以使用Apollo GraphQL https://www.apollographql.com/docs/?no-cache=1

编写GraphQL查询,以便您可以传递参数

示例:(反应示例)

function apolloFetch(query, variablesS, headers) {
  // http link with base
  const httpLink = ApolloLink.from([
    new HttpLink({
      uri: BASE_URL,
      headers,
    }),
  ]);

  const client = new ApolloClient({
    link: logoutLink.concat(httpLink),
    cache: new InMemoryCache(),
  });

  const queryGQL = {
    query,
    variables: {
      ...variablesS,
    },
  };
  return client.query(queryGQL).then(res => res);
}

查询:

gql`
  query(
    $name: String
    $email: String
  ) {
    patients(
      name: $name
      email: $email
    ) {
      age
      birthDate
      hobbies {
        name
      }
    }
  }
`;