#reactjs #graphql
#reactjs #graphql
Вопрос:
Вот в чем проблема, я просто хочу использовать запрос ‘Get’ для отправки параметров на сервер на базе graphql, поскольку пользователь может сохранить URL в качестве закладки и открыть его напрямую, как в примере в Restful ‘www.xxx.com?id=abc ‘. Но в локальной среде мой интерфейс прослушивает порт 3000, а серверная часть (graphql) прослушивает порт 8000, поэтому он не может использовать ‘www.localhost.com:3000/graphql ?query={getId{id}}’ для отправки запроса, так что я мог бы сделать, чтобы решить эту проблему?
Ответ №1:
Вы можете использовать Apollo GraphQLhttps://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
}
}
}
`;