我正在为 GraphQL 运行 Apollo lambda 服务器。我想从 POST 请求正文中拦截 GraphQL 查询/变更并对其进行解析,以便我可以找出请求所要求的查询/变更。环境是 Node.js。
请求不是 JSON,它是 GraphQL 查询语言。我环顾四周,试图找到一种方法将其解析为一个我可以导航的对象,但我画的是一片空白。
Apollo 服务器必须以某种方式解析它以定向请求。有谁知道可以执行此操作的库或有关如何解析请求的指示?请求主体的示例以及我想要在下面检索的内容。
{"query":"{\n qQueryEndpoint {\n id\n }\n}","variables":null,"operationName":null}
我想确定这是一个查询,要求查询 qQueryEndpoint
。
{"query":"mutation {\\n saveSomething {\\n id\\n }\\n}","variables":null}
我想确定这是一个突变,并且正在使用 saveSomething
突变。
我的第一个想法是去除换行符并尝试使用正则表达式来解析请求,但感觉这是一个非常脆弱的解决方案。
原文由 Nick Ramsbottom 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用 graphql-tag :
打印出来:
随着你的突变: