概要
- 郵便番号検索APIサービスにおいて、GraphQLに対応しました。
- graphqlを使い、paginationには graphql-pagination, kaminari-activerecordを使っています。
考察
- GET系だけなので特にハマりどころは無く、オフィシャルドキュメントを軽く読んで、数時間で構築できました。
- Typeの定義(REST APIでいうエンティティ)にアノテーションを少しするだけでドキュメントが自動生成されるのでドキュメンテーションが楽です。
- paginationのmetadataがデフォルトでレスポンスに含まれるような記述がありましたが、実際には何も出力されなかったです。
- N+1が発生しやすいので、その際はこのあたりを参考にする。graphql-batchを使って手動でpreloadするらしい。
Comments