预期行为
我希望将端点设置为不同的 url,但无论我将变量更改为什么,它总是尝试 POST 到 /graphql
const httpLink = createHttpLink({
uri: 'http://localhost:8080/graphql',
});
const authLink = setContext((_, { headers }) => {
// get the authentication token from local storage if it exists
const token = localStorage.getItem('token');
// return the headers to the context so httpLink can read them
return {
headers: {
...headers,
authorization: token ? `Bearer ${token}` : '',
},
};
});
const client = new ApolloClient({
link: authLink.concat(httpLink),
cache: new InMemoryCache(),
});
从官方文档复制的代码: https :
实际行为
它尝试发布到 /graphql 并引发错误。
问题标签
👍 遇到同样的问题。
仔细考虑一下,我很确定我错了,因为在这种情况下request
只是operation
对象的副本。
您是否为 ApolloClient 使用了正确的包? 我遇到了同样的问题,直到我发现我是从“apollo-boost”而不是“apollo-client”导入 ApolloClient
@cobsa ,有趣的我去看看
@cobsa ~从apollo-client
导入ApolloClient
,所以这不是问题,但我今天会有更多时间来研究这个,所以我们会看到我们最终会在哪里。~
原来是这个问题,我的一个同事已经改变了代码,所以它是从apollo-client
导入的,并且一切正常。
@ar1a @rachid您能否确认您是否也从apollo-boost
导入ApolloClient
apollo-boost
并且在更改为从apollo-client
导入时是否按预期工作?
我遇到了同样的问题,使用apollo-client
导入ApolloClient
修复了它! 但我不确定这是否会导致任何问题..我的意思是, apollo-client
和apollo-boost
之间的ApolloClient
什么区别?
所以我很确定这是我们所有人的问题,更新文档或解决从apollo-boost
导入ApolloClient
的问题是解决这个问题的方法。
我在这里花了几个小时才发现请求在页面的同一个 url 上,这是一个没有安装 graphql 的后端!但是,我得到的错误是误导性的..它应该说例如:graphql 不是安装在后端或无效端点..等
我得到的是:
[GraphQL error]: Message: Cannot query field "allStudents" on type "Query"., Location: [object Object], Path: undefined
我也被这件事严重烧伤了。 如果您使用 Apollo Boost,您得到的错误消息是完全没有用的,并且没有说明问题究竟是什么。
将 Apollo Boost 中的ApolloClient
重命名为ApolloBoostClient
以便清楚地表明它不是同一个类,这对解决此问题大有帮助。
亲爱的,你能分享你的完整代码吗?
我遇到了同样的问题,尽管我尝试从 apollo-client 而不是 apollo-boost 导入客户端。
谢谢
@jejesh26我也面临同样的问题。 似乎我给ApolloClient
作为uri
参数的任何东西,它都会尝试将它连接到我前端的基本 URL。
我也在使用apollo-client
包,并希望看到最近的工作示例。
大家好,
我不知道我的问题是否与这里的问题有关,但我有相同的错误响应,
当我尝试使用参数执行查询时!
这就是我的解决方案!
例子:
const GET_DATA = gql `
query getData($text: String!){
getData(text: $text) {... [whatever Object Structure you have]}
}`
const apolloQuery (text){
return ApolloClient.query({
query: GET_DATA,
variables: {text: text}
})
}
我在这里花了几个小时才发现请求在页面的同一个 url 上,这是一个没有安装 graphql 的后端!但是,我得到的错误是误导性的..它应该说例如:graphql 不是安装在后端或无效端点..等
我得到的是:
[GraphQL error]: Message: Cannot query field "allStudents" on type "Query"., Location: [object Object], Path: undefined
谢谢@hopewise ,你为我节省了几个小时! 我犯了同样的错误😂
一年多后,我被这件事烧伤了。 搜索如此多的问题和指南一直给我同样的问题。 从 apollo-client 导入 ApolloClient 而不是 apollo-boost 对我有用! 我浪费了至少 4-5 个小时试图解决这个问题。 谢谢!!
好像可以关闭了! 解决方案
最有用的评论
您是否为 ApolloClient 使用了正确的包? 我遇到了同样的问题,直到我发现我是从“apollo-boost”而不是“apollo-client”导入 ApolloClient