然而常见的 HTTP 缓存只能存储 GET 响应,对于其他类型的响应则无能为力。/ 当然, 我们可以将默认的请求类型改为GET, 但是当schema过大的时候 ,就会出问题了....消息体暴露带来的安全问题
我们在请求的时候, 可以从http请求的Headers里面看到我们的query, 里面有完整的schema,
那么有没有解决这两点的办法呢?...Automatic persisted queries - Apollo Server - Apollo GraphQL Docs
简单翻译一下就是, 一个短dash代替一个超长的graphql schema....graphql 文件
去遍历获得它的fragment
通过AST给每一个节点上面添加__typename (这一步可能不需要, 因为如果你的请求设置了不带__typename, 就没必要了)
hash...它
后端存储
贴上我的实现代码, 方便直接使用
// parseSchemaToJson
const { resolve, dirname } = require('path')
const { readFileSync