generated at
API呼び出し制限
RESTful APIだと rate limiting で単位時間あたりのAPI呼び出し回数を制限する方法がよくとられます
graphql-ruby の場合、 rate limitin に加えて node depth と complexity という評価軸で制限をかけられます
node depth はqueryの入れ子の制限です
complexityはフィールドごとにcomplexityを設定でき、1 request全体のcomplexityを一定以下に制限するというものです
complexityは動的に計算可能なので、かなり細かな制限を加えることができます
たとえば、重い計算を行うフィールドのcomplexityを大きめに設定したり
connection で per page x N のcomplexityを設定したり
デフォルトではfirst/lastといったper page値は必須ではないのでgraphql-rubyも勝手に計算はしませんが、この引数をもとに静的にcomplexityを計算する方法は、たとえば GitHub API v4 Resource Limitations で示されています