伪指令可以很好地改变解析器的行为,但是有没有办法直接使用它们来更改公开的架构?
示例
预期的超级用户架构
std::string paramList = "";
std::set<Param>::iterator end = params.end();
for (std::set<Param>::iterator it = params.begin(); it != end; ++it) {
paramList += (*it).name;
/*if (it != end -1) {
paramList += ",";
}*/
}
预期的普通用户模式
type Query {
getBooks: [Book]
getAuthors: [Author]
}
一个定义即可全部构建
type Query {
getBooks: [Book]
}
将通过给定的上下文定义范围,因为我将为每个可能的范围构建一个架构。