Graphql & Android 生成 schema.json 文件步骤

原来如此简单,被一篇 iOS生成schema.json 的文档误导了

步骤

1. 安装node

2. 按照命令操作即可

npm install -g apollo-codegen

如果报权限错误,则需要如下命令:

jake@bogon:~$     sudo chown -R $USER /usr/local
Password:
Sorry, try again.
Password:
chown: /usr/local: Operation not permitted


jake@bogon:~$     npm install -g apollo-codegen
/usr/local/bin/apollo-codegen -> /usr/local/lib/node_modules/apollo-codegen/lib/cli.js
+ [email protected]
added 115 packages in 37.343s


   ╭─────────────────────────────────────╮
   │                                     │
   │   Update available 5.6.0 → 6.0.0    │
   │     Run npm i -g npm to update      │
   │                                     │
   ╰─────────────────────────────────────╯

生成 schema.json 文件(需要服务器地址),命令:

apollo-codegen download-schema 服务器地址 --output schema.json

即可在当前目录下看到生成的文件

生成 schema.json

将其拷贝到项目根目录下的graph包里( 自己动手创建包)即可使用

更进一步(2018.12.28)

忽然发现无法下载schema文件了,通过上述命令:


error
error: Error while fetching introspection query result: invalid json response body at http://***/graphql/ reason: Unexpected token < in JSON at position 0

原来为了安全,后端加了一个 token 校验,
所以需要在命令上添加 header 参数,传token,就像graphql的客户端一样。


Graphql & Android 生成 schema.json 文件步骤_第1张图片
like this

所以最终的命令如下

apollo-codegen download-schema http://***/graphql/  --output schema.json  --header "Authorization":"bearer $token”

还有很多参数可加,如下:


Graphql & Android 生成 schema.json 文件步骤_第2张图片
参数

你可能感兴趣的:(Graphql & Android 生成 schema.json 文件步骤)