GraphQL杂谈(二):目前遇到的问题

接上文 starter及工程化模块化及理解

命名问题

schema可以按模块划分写在不同文件中,但是解析时其实是合并解析的,type、query及mutation的各自命名必须唯一,多人协作时需要注意。

公用type问题

由第一个问题引出,不同模块可能有公用的type,放在哪个schema中都不合适,可以将所有type定义放到同一个文件中。

泛型结构

graphql 不支持泛型,目前没有好的解决方法,暂时使用以下数据结构代替:

1
2
3
4
5
6
7
8
class Example {
...
}
class ExampleWrapper {
int code;
String msg;
Example data;
}
1
2
3
4
5
6
7
8
9
type Example {
...
}

type ExampleWrapper {
code: Int
msg: String
data: Example
}