php エディタ Baicao では、GraphQL クエリを解析して Go でオペレーション名を取得する方法を紹介します。 GraphQL は、データの取得と変更に使用されるクエリ言語です。 Go 言語では、いくつかのライブラリを使用して GraphQL クエリを解析し、オペレーション名を抽出できます。具体的な手順としては、まず GraphQL クエリ文字列を解析し、次にルート ノードを取得し、次にルート ノードの子ノードを走査してノード タイプがオペレーション タイプであるかどうかを判断し、そうであればオペレーション名を取得します。このようにして、後続の処理と操作のために、Go で GraphQL クエリから操作名を簡単に抽出できます。
私はこの go ライブラリを使用して、graphql クエリ文字列を解析しています: github.com/graphql-go/graphql/ language/parser
。
次のコードがあります:
リーリー返された p
は *ast.document
のインスタンスです。 p
definitions
フィールドがあり、これは ast.node[] 配列です。
しかし、クエリから操作名を取得する方法がわかりません。この場合、subscription
になります。
p.settings はノードの一部であり、ノードは ast.operationdefinition によって実装されるインターフェイスであるためです。
したがって、操作定義ノードのデータを抽出するには、アサーションを実行する必要があります。
リーリー以上がgoで操作名を取得するためにgraphqlクエリを解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。