如何石墨烯Django的配置与持久查询工作?

问题描述 投票:3回答:2

它看起来像我的公司将会从阿波罗客户端持久化的查询前进,因为在这里讨论:https://dev-blog.apollodata.com/persisted-graphql-queries-with-apollo-client-119fd7e6bba5

在这篇文章中有某事需要做的服务器上的中间件提。我一直无法找到任何资料的需要与石墨烯的Django改变什么。

任何人都可以提供什么建议吗?

罗伯特

graphql apollo-client graphene-python
2个回答
2
投票

持久查询是不是和GraphQL规范的一部分,因此,可以在各种各样的方式来实现。这里有一个如何想这样做,你的服务器上的几个例子:

提取查询

在编写这本书的时候,你可以提取与继电器现代的阿波罗客户端,和其他静态查询。他们以类似的方式所有的工作,所以我将使用Apollo PersistGraphQL作为一个例子。在你的构建,你需要在你的src目录提取您的静态查询运行persistgraphql命令。此命令的结果将是充满查询一个JSON文件,如字符串,一个数字作为值。

{
  "
  { 
    author {
      firstName
      lastName
    }
  }
  ": 9,
  "
  query otherQuery {
    person {
      firstName
      lastName
    }
  }
  ": 10
}

使用提取查询

从这里,你有几种选择。一旦你的服务器知道所有可能出现的问题,它可以提供一个接口在JSON文件中提供的值,也可以列入白名单,它知道的查询。如果你的服务器只提供给值的接口(myserver/api/9,在上面的例子中myserver/api/10),你需要确保你的客户端应用程序映射它查询到那些有它消耗相同的JSON文件约定的ID。或者,您可以使用该文件,以防止意外的查询从不会以任何方式修改客户端执行。

你怎么专门设置你的服务器消耗这个JSON文件是你。有些人会预先执行组已知的查询,并把它们放在一个快速的数据存储像Redis的。有些人用它严格,以防止未经授权的查询。至于如何与Django的石墨烯做,有外的开箱无解,我所知道的,但耗时的提取键/值存储像一个以上应为您的团队和一群好选项。


0
投票

您可以检查石墨烯Django的持久化的查询

https://github.com/flavors/django-graphql-persist

© www.soinside.com 2019 - 2024. All rights reserved.