connection_type

をするといい感じにページネーションしてくれる。

field :hoges, Types::HogeType.connection_type, null: false
query { hoges { pageInfo { startCursor endCursor hasNextPage hasPreviousPage } edges { node { id } } } } => { "data": { "hoges": { "pageInfo": { "startCursor": "MQ", "endCursor": "NDA", "hasNextPage": false, "hasPreviousPage": false }, "edges": [ { "node": { "id": "1" } }, { "node": { "id": "2" } }, { "node": { "id": "3" } }, ...

逆にページネーションいらないようなフィールドの場合はやらなくていい。配列でいい。

field :fugas, [Types::FugaType], null: false
query { fugas { id } } => { "data": { "fugas": [ { "id": "1", }, { "id": "2" }, { "id": "3" }, ...