GraphQL预先批准的查询
我读到Facebook的内部服务器接受dev中的任何查询 模式,并将其缓存。在生产中,只有预先批准/缓存的 允许查询。这被称为其他服务器的一个模型 应该采纳GraphQL预先批准的查询,graphql,Graphql,我读到Facebook的内部服务器接受dev中的任何查询 模式,并将其缓存。在生产中,只有预先批准/缓存的 允许查询。这被称为其他服务器的一个模型 应该采纳 有人知道他们用什么工具吗?这个过程在什么地方描述得更详细了吗?我不知道facebook上是怎么写的,但我可以在GraphQL Guru中解释我是如何做到的。由于graphql是语言不可知论者,我将在不特定于语言的情况下进行解释 持久化查询的工作方式是客户端向graphql(持久化查询就绪)服务器发送具有唯一id和变量的查询 { “id”:“
有人知道他们用什么工具吗?这个过程在什么地方描述得更详细了吗?我不知道facebook上是怎么写的,但我可以在GraphQL Guru中解释我是如何做到的。由于graphql是语言不可知论者,我将在不特定于语言的情况下进行解释 持久化查询的工作方式是客户端向graphql(持久化查询就绪)服务器发送具有唯一id和变量的查询
{
“id”:“1234”,
“变量”:{
“firtName”:“John”,
“lstName”:“史密斯”
}
}
对于id,不要使用查询的散列,因为这会导致不同大小的长id名称,这会破坏目的
在服务器上,创建一个与持久化查询id同名的文件,该id包含实际的graphql查询。或者将其保存在数据库中
要获取graphql查询,您需要通过中间件拦截它。中间件通过其id检索graphql查询,并将查询传递给graphql端点。根据查询的定义方式,中间件可能需要对其进行解析。此外,在中间件中,如果持久化查询id不存在,您可以在其中列出白名单
然后,graphql端点将正常处理查询
你可以在这里看到一个nodejs示例我不知道它在facebook中是如何出现的,但我可以在GraphQL Guru中解释我是如何做到的。由于graphql是语言不可知论者,我将在不特定于语言的情况下进行解释 持久化查询的工作方式是客户端向graphql(持久化查询就绪)服务器发送具有唯一id和变量的查询
{
“id”:“1234”,
“变量”:{
“firtName”:“John”,
“lstName”:“史密斯”
}
}
对于id,不要使用查询的散列,因为这会导致不同大小的长id名称,这会破坏目的
在服务器上,创建一个与持久化查询id同名的文件,该id包含实际的graphql查询。或者将其保存在数据库中
要获取graphql查询,您需要通过中间件拦截它。中间件通过其id检索graphql查询,并将查询传递给graphql端点。根据查询的定义方式,中间件可能需要对其进行解析。此外,在中间件中,如果持久化查询id不存在,您可以在其中列出白名单
然后,graphql端点将正常处理查询
您可以在这里看到一个nodejs示例谢谢。那么,您是否在服务器上手动保存这些查询?我使用。我在编辑器中创建它们并发送到graphql端点,该端点具有一个解析器,该解析器将查询保存在json文件中。谢谢。那么,您是否在服务器上手动保存这些查询?我使用。我在编辑器中创建它们并发送到graphql端点,该端点具有一个解析器,该解析器将查询保存在json文件中。