【问题标题】:Devise Doorkeeper oauth2 API pagination设计 Doorkeeper oauth2 API 分页
【发布时间】:2013-03-04 07:40:21
【问题描述】:

抱歉,如果这是关于 oauth 的菜鸟问题

我已经根据此处的示例使用 devise+doorkeeper 实现了一个 oauth2 API:https://doorkeeper-provider.herokuapp.com/ 和此处:https://github.com/applicake/doorkeeper-devise-client

我希望能够提供一个 API 端点,该端点返回可分页的交易列表,代码如下:

module Api::V1
  class DealsController < ApiController
    doorkeeper_for :index
    doorkeeper_for :create, :scopes => [:write]

    respond_to :json

    def index
      if params[:page].nil?
        page = 1
      else
        page = params[:page].to_i
      end
      respond_with Deal.page(page).order("published DESC")
    end

    def create
      respond_with 'api_v1', Deal.create!(params[:deal])
    end
  end
end

但是,在客户端,我不能传递这样的页面参数: /explore/deals.json?page=3

由于某种原因,在提供程序中看不到页面参数。有人可以帮帮我吗?

【问题讨论】:

    标签: api devise oauth-2.0 doorkeeper


    【解决方案1】:

    我意识到问题出在 doorkeeper-devise-client 的 api_controller 中

    页面参数未正确传递。进行以下更改可以解决问题:

    class ApiController < ApplicationController
      respond_to :json
    
      def explore
        api_call = params[:api]
        if !params[:page].nil?
          api_call << "/?page=#{params[:page]}"  
        end
    
        @json = doorkeeper_access_token.get("api/v1/#{api_call}").parsed
        respond_with @json
      end
    end
    

    【讨论】:

      猜你喜欢
      • 2016-06-09
      • 2015-03-23
      • 2022-07-21
      • 2016-12-26
      • 1970-01-01
      • 2014-12-10
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      相关资源
      最近更新 更多