在短 GraphQL 查询上返回 null

Posted

技术标签:

【中文标题】在短 GraphQL 查询上返回 null【英文标题】:returns null on short GraphQL query 【发布时间】:2019-02-12 15:18:04 【问题描述】:

我设置了一个新的 API-Platform 实例,但它的 GraphQL 端点行为异常。

这个查询不起作用

query  Asset  id, name 

它会返回我:


  "data": 
    "Asset": null
  

错了,我确实有数据。

此查询有效


  Assets 
    edges 
      node 
        id
        name
      
    
  

我得到了正确的数据。在 GraphQL 的所有在线示例中,都使用了第一种语法。所以我认为这是正确的语法。

突变也存在类似问题。

我做错了什么?如何让短查询表单发挥作用?

【问题讨论】:

请求时是否有权限从数据库中读取?你不需要某种 if 令牌吗? 你能发布你的resolver吗? @parohy 权限不是问题。正如我所说,只是以不同的方式编写查询会给我带来结果。 @novaline - 我没有编写任何自定义解析器。我正在使用普通的 API 平台。我假设应该足够了? @Tom 在控制台中是否给出任何错误? 【参考方案1】:

第一个查询需要一个 id,因为它是单数的,所以是这样的:

query 
    Asset(id: "/api/assets/1") 
        id
        name
    

你可以让它与复数一起使用:

query 
    Assets 
        id
        name
    

但为此你需要禁用分页

# api/config/packages/api_platform.yaml
api_platform:
    collection:
        pagination:
            enabled: false

【讨论】:

以上是关于在短 GraphQL 查询上返回 null的主要内容,如果未能解决你的问题,请参考以下文章

graphql 查询或突变能否返回标量值

React Native:为啥使用 Apollo 的 GraphQL 查询返回未定义?

Apollo GraphQL 客户端查询返回自省结果而不是数据

为啥 GraphQL 查询返回 null?

为啥 GraphQL 查询返回 null?

为啥 GraphQL 查询返回 null?