Apollo 客户端向错误的 uri 发送请求

Posted

技术标签:

【中文标题】Apollo 客户端向错误的 uri 发送请求【英文标题】:Apollo Client sending requests to wrong uri 【发布时间】:2021-10-16 22:00:05 【问题描述】:

我正在使用 Apollo Client 向 graphql 服务器发送请求。我创建了一个与 apollo-upload-client 的链接,因为我需要它来完成我正在做的事情。客户端定义如下:

const link = createUploadLink(
    uri: 'http://localhost:4000/graphql'
);

const client = new ApolloClient(link);

但是,当我尝试进行突变时,它会将请求发送到 http://localhost:3000/graphql。这会导致请求失败,因为那不是服务器所在的位置。奇怪的是,如果我像这样直接在客户端中指定 uri,请求就可以正常工作:

client = new ApolloClient(uri: 'http://localhost:4000/graphql);

起初我以为可能是createUploadLink的问题,但即使使用HttpLink也会导致这个问题。 为什么客户端在使用链接的时候会请求错误的地址?

【问题讨论】:

什么是createUploadLink?但我敢打赌,指定的 URI 是针对上传端点,而不是针对 graphql 端点。 来自 apollo-upload-client。我在使用 HttpLink 和自定义 ApolloLink 时遇到了同样的问题,所以我不知道它是否特定于该库。 【参考方案1】:

原来问题出在我从哪里导入 ApolloClient。我最初是从 apollo-boost 导入它的。当我从@apoloo/client 导入它时它起作用了。

【讨论】:

以上是关于Apollo 客户端向错误的 uri 发送请求的主要内容,如果未能解决你的问题,请参考以下文章

使用 Apollo 客户端时未将 GraphQL 突变发送到请求?

apollo 客户端是不是支持事务?

使用HttpLink时客户端的apollo-client reactjs 404(未找到)

HTTP协议请求信息详解

尝试向URI http:// localhost:XXXXX / XXXX发出请求时发生错误

Apollo 客户端/使用 localhost 反应本机错误