GraphQLという技術がある、この技術について思うことをまとめていこうと思う
これまで、open apiがでてきてたが、サーバサイドでspring-foxが提供するアノテーションンを使えば、サーバサイド主体で、インターフェースのHTMLによる設計書が生成されてるので、もてはやされていたというのが、2021年まであったように思う。
サーバサイドとフロントエンドで、OPENAPIをインターフェースとした分業があったように感じる。
しかし、主導権はサーバーサイドが強く持っていたのではないだろうか?
フロントエンドがどちらかというと、サーバーサイドのAPIの提供にひきづられていたように感じる。
しかし、2022年からは フロントエンドが必要としているものは、データであって、 APIのエンドポイントがどうだとかは、気にしなくてもよい仕組みにしたいという要望があったのだとおもう。
それをかなえるのがGraphQLであり、バックエンドと、フロントエンドの間を取り持つ立ち位置に存在しているのではないかと考えている。
https://atmarkit.itmedia.co.jp/ait/articles/1803/12/news012.html
いろいろ解説があるけれども、自分は、GraphQLのことだと思っている。
https://techblog.zozo.com/entry/zozo-aggregation-api-bff
自分がいま、理解しているGraphQLというものの立ち位置は、そういったところだ。
GraphQL Schemaを用意してあれば、いろいろ生成しちゃう的なものらしい
https://github.com/dotansimha/graphql-code-generator
https://www.graphql-code-generator.com/#live-demo
https://github.com/glutengo/graphql-typeop
TypeScript?でGraphQLの戻り値関連の生成をやっちゃうよ的なもので、上記のgraphql-code-generatorを利用しているみたい。
https://www.graphql-code-generator.com/plugins/typescript-operations
https://www.graphql-code-generator.com/
https://relay-compiler-repl.netlify.app/
https://github.com/Urigo/graphql-cli
2021年12月に version 1.0.0 になった https://docs.spring.io/spring-graphql/docs/1.0.0-SNAPSHOT/reference/html/
自分が興味があるのは、
@GraphQlRepository?
を使った自動登録の仕組みと、そのコードを生成するツールは何か?ということが興味がある。
https://github.com/spring-projects/spring-graphql/tree/main/samples
たぶん、FacebookのSDKをつかった、サンプルなのでは?
https://techblog.yahoo.co.jp/advent-calendar-2018/create-springbook-graphql-api/
https://github.com/klowa/example-graphql-api
2019年11月の記事だ
https://qiita.com/kurukuruz/items/b948e77a56b946864a86
https://www.apollographql.com/
デプロイ後の調整についての見識が深いように感じられる
https://www.apollographql.com/blog/announcement/announcing-managed-federation-265c9f0bc88e/
https://kakakakakku.hatenablog.com/entry/2019/12/30/135420
chromeのプラグインで、RESTサーバのテストで使うPOSTMANのように、GRAPHQLのテストができるツール
https://altair.sirmuel.design/
https://itnews.org/news_contents/product-altair