graphql - 有没有办法在 devtool 网络选项卡中命名 graphql 请求?

标签 graphql apollo apollo-client devtools

我使用 apollo 作为我的客户端,我在我的应用程序上运行了大量的查询和突变。我想知道是否有办法让我的每个查询/突变都按其名称(例如 getProduct)显示,而不是在我的网络选项卡中全部显示为“图表”?我在 Brave (Chromium) 上。

如果我不必单击每一个并检查标题或响应来确定此请求对应于哪个查询或突变,这将使调试更容易。

这是它目前在我的开发工具中的显示方式:

network tab screenshot

非常感谢!

最佳答案

也许有更好的方法,但这里是我可以做的最少代码。

import {
  ApolloClient,
  ApolloLink,
  HttpLink,
  InMemoryCache,
} from '@apollo/client';

const httpLink = new HttpLink({ uri: MY_BASE_URL });

const namedLink = new ApolloLink((operation, forward) => {
  operation.setContext(() => ({
      uri: `${MY_BASE_URL}?${operation.operationName}`,
    })
  );
  return forward ? forward(operation) : null;
});

export const client = new ApolloClient({
  link: ApolloLink.from([namedLink, httpLink]),
  cache: new InMemoryCache(),
});

您必须为您的查询命名:

import { gql } from "@apollo/client";

const QUERY = gql`
  query QueryName {
    ...
  }
`;

希望对你有所帮助。

关于graphql - 有没有办法在 devtool 网络选项卡中命名 graphql 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64642948/

相关文章:

javascript - Apollo 客户端在 next.js 、 javascript、 graphql、react js 中出现问题

caching - 使用 Apollo 缓存具有多个 id 的 GraphQL 查询

javascript - 模拟由 react 钩子(Hook)返回的函数

graphql - 将查询/变异操作记录到数据库以进行审计

graphql - 不变违规 : Expecting a parsed GraphQL document

ios - GraphQL 对象按目标映射具有不同模式的 Apollo

express - CORS 不适用于 apollo-server-express

reactjs - GraphQL 与 Apollo - 如何使用 fetchMore

graphql - amplify api 推送不会更新云中的架构并在本地恢复

java - Graphql 接受用户定义对象列表