最近、GraphQL APIをインターネット上に晒す上で何を考慮したらいいのだろうか、的なことを考える機会が多く、空いた時間でチマチマと素振りしています。 今日はGraphQLのクライアント - サーバー間に挟むリバプロ的な機能について書いてみようと思います。 やりたいこと 1. 想定しないクエリの排除 例えばECやメディアサイトのような、未ログインでも情報の閲覧が可能なサービスのWeb API層をGrahpQLで実装したとします。ECにしろメディアにしろ、詳細ページでの回遊率を上げるため、詳細同士を関連付けるようなスキーマ設計となるのは自然なことでしょう。 GrahpQLのスキーマ定義で書くと、下記のようなイメージです。
注意 現在の graphql-ruby (ver: 1.8.x) は Ruby のクラスベースによる定義がメインで、この記事に書いてある DSL を使った定義は 非推奨 です。 ロードマップ には DSL を使った .define-style は、graphql-ruby 2.0 で廃止するとあります。 新しいクラスベースでの書き方は 公式ドキュメント を御覧ください。 日本語の記事だと @gfx さんの 「GraphQL」徹底入門 ─ RESTとの比較、API・フロント双方の実装から学ぶ が非常によくまとまってて分かりやすいです。 はじめに 私が携わっているプロダクトでは、フロントエンド用のAPIとしてGraphQLを採用しました。 実際に使ってみてかなり良い感じなのですが、最初はいざ実装しようにもよく分からずに苦労しました。 そこで、GraphQL の実装方法についてサーバーサイドに焦
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く