如何在jsonapi-resources gem中为单个资源配置maximum_page_size
为特定JSONAPI资源配置自定义maximum_page_size
只需在目标资源类中定义maximum_page_size类方法,即可覆盖全局配置的分页尺寸限制,示例如下:
修改你的Api::LogResource类:
module Api class LogResource < ApplicationResource immutable model_name 'Api::Log' primary_key :uuid # 自定义该资源允许的最大分页尺寸 def self.maximum_page_size 5000 # 替换为你需要的具体数值 end def self.default_sort [{ field: 'time_start', direction: :desc }] end end end
说明:
- 这个类方法会优先于全局配置生效,当请求
/api/logs接口时,系统会使用这里定义的分页上限,其他资源仍遵循全局设置的1000限制。 - 如果需要动态调整上限(比如根据环境或其他条件),也可以在方法内添加逻辑,例如:
def self.maximum_page_size Rails.env.production? ? 5000 : 10000 end
内容的提问来源于stack exchange,提问作者Anton-Ivanov
相关产品推荐
相关产品推荐

