UGA Boxxx

つぶやきの延長のつもりで、知ったこと思ったこと書いてます

GraphQL

【GraphQL】extendで型を拡張する

GraphQLのextendは、既存の型を拡張するためのキーワード spec.graphql.org 既存の型に新しいフィールドを追加したい場合に使う 例 初期のスキーマ type User { id: ID! name: String! } 後からemailフィールドを追加したい場合 extend type User { email: S…

【GraphQL】UNIONで型が競合するフィールドをどうするか

UNION型に対してクエリする時、フィールド名が一緒だが型が違うため、競合エラーを起こした { firstSearchResult { ... on Person { value { name } } ... on Photo { value { name } } } } { ... "message": "Fields \"value\" conflict because they retur…

【GraphQL】Fragment Colocation

Quramyさんの発表資料でGraphQLのFragment Colocationを知った speakerdeck.com GraphQLはほとんど使ったことがなかったので、データフェッチ周りの効率性をあげる有用な機能を知ることができてよかった フロントエンドのデータフェッチ周りの問題 フロント…

【Spring Boot】Apollo3が利用できなかった話

Spring Boot にApollo Clientを導入しようとした際に、Apolloのバージョンがv2系とv3系があることがわかり、当初v3系にしようとしていたがうまくいかなかった uga-box.hatenablog.com 前提としてSpring Boot は2.5.12を使っていて、古いのは承知しているが今…

【Spring Boot】GraphQL Apollo Client でリクエスト時にヘッダーにAuth情報を含めたい

以前セットアップしたApollo Client でリクエスト時にヘッダーにAuth情報を含めたい uga-box.hatenablog.com 設定方法は以下に書かれている 10. Authenticate your queries - Apollo GraphQL Docs Kotlin用をJavaに読み替えて、以下のように書くけば良さそう…

【Spring Boot】Spring Boot でGraphQL Apolloクライアントを使う

Spring Boot でGraphQLで構築された外部のAPIを利用するため、GraphQLクライアントを用意する GraphQLクライアントには Apollo や Relay が思いつくが、RelayはどちらかというとReact特化でApolloのようにさまざまな言語で使えるようになっていないとのこと …

【GraphQL】IntrospectionでGraphQLスキーマがどのようなクエリをサポートしているのか知る

APIをGraphQLで構築している外部サービスを利用することになった 提供されたドキュメントには利用できるクエリや型の情報が載っているが、使うとなった時にドキュメントから読み取ってスキーマを作るのは辛いと感じた なのでドキュメントからではなくGraphQL…