koa-persist-query
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

koa-persist-query

需要koa-bodyparser作为前置中间件

Intallation

通过 yarn 或者 npm 安装:

yarn add koa-persist-query

Usage

import { persistQuery } from "koa-persist-query";
import Koa from "koa";
import bodyparser from "koa-bodyparser";
import invert from "lodash/invert";
import queryMap from '../extracted_queries.json';
 
const invertedMap = invert(queryMap);
const options = {
  path: "graphql",
  map: invertedMap
}
const app = new Koa();
app.use(bodyparser());
app.use(persistQuery(options));

需要前置使用 bodyparser 中间件,中间件会读取 post 请求 body 解析后的结构化数据。同时也需要传入 options 配置映射表等。

中间件会解析 GraphQL 相关请求信息,如果请求是通过 persist query 方式发送,则从传入的映射表中得到真正的查询字符串,提供给后续的 GraphQL 执行环境。同时,会对持久化的请求进行请求级别的缓存。

Interface

persistQuery(options)返回一个 koa 中间件实例。函数接收一个 options 参数作为中间件配置。

options 配置包含以下几个参数:

  • path: GraphQL 请求的路径,一般是 "/graphql"

  • map: GraphQL 的 Hash 映射表,如果使用工具生成,应该为表的反转。

Readme

Keywords

none

Package Sidebar

Install

npm i koa-persist-query

Weekly Downloads

0

Version

0.1.2

License

none

Unpacked Size

18.8 kB

Total Files

14

Last publish

Collaborators

  • moritaka