goで操作名を取得するためにgraphqlクエリを解析するにはどうすればよいですか?

PHPz
リリース: 2024-02-09 13:57:08
転載
995 人が閲覧しました

如何解析 graphql 查询以获取 go 中的操作名称?

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!