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
+ apollo-codegen@0.19.1
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的客户端一样。


like this

所以最终的命令如下

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

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


参数
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容