【问题标题】:Change GraphQl Query POST request to GET将 GraphQl 查询 POST 请求更改为 GET
【发布时间】:2021-01-16 03:32:38
【问题描述】:

我正在使用 https://www.npmjs.com/package/apollo-client graphQl 的库,但我面临一个问题,即当我使用查询时,它应该是一个 GET 请求,但它在网络选项卡中显示它是一个 POST 请求。

我需要在下面的代码中传递一些额外的参数以使其成为 GET 请求。

  const dataPage = await apolloClient.query({
    query: getCategoryDetail(
      id,
      queryParams,
      enabledFilters,
      region !== undefined ? region : regionID
    ),
    variables: params
  });

下面是产品搜索的查询,它工作得很好

 let graphql = `
        query category(
            ${params}
        ) { 
            ${defaultCategory != null ? categorySearch : ''}
            products(
                pageSize: $pageSize
                currentPage: $currentPage
                ${textSearch}
                filter: {
                    ${filter}
                }
                sort: {
                    ${sort}
                }
                region:
                  "${region}"
                
            ) {
                ${searchFilters}

                items {
                  ${productFields}
                }

                page_info {
                    total_pages
                    current_page
                }
                total_count
            }
        }
    `;

【问题讨论】:

  • 它应该是 POST(许多原因:大小、编码)......“工作”代码示例滥用了 graphql,不应该是字符串操作/模板文字,而是 args 作为变量传递......如查询图片

标签: graphql react-apollo apollo-client


【解决方案1】:

GrpahQL 操作总是 POST 请求,不应该是 GET。您想要 GET 请求的任何具体原因。

【讨论】:

  • 用于后端的缓存目的
  • 我怀疑你可以使用 GET 而不是 POST 请求,它是这样的。
猜你喜欢
  • 2018-01-10
  • 2021-11-01
  • 2017-01-31
  • 2020-07-14
  • 2023-01-11
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 2012-01-13
相关资源
最近更新 更多