ruby 編寫api程式

來源:互聯網
上載者:User

標籤:

其實ruby寫api程式是非常簡單,前提是api本身比較規範,而不是亂七八糟的。。

class ApiDemo    # 定義介面  API_QERUY = [      :userAdd              # 使用者資料添加  ]    # 實現幽靈方法  def method_missing(method_name, *args, &block)      API_QERUY.each do |v|        if v.to_s == method_name.to_s          return api_request(v.to_s, args.first)        end      end      super  end    # 返回的結果解析,這裡返回的是xml,所以使用Nokogiri這個gem來解析xml,非常方便。  def api_request(operation, argv)      query = ""      argv.each do |a|        query += "&" + a.first.to_s + "=" + a.last.to_s      end      uri = URI.escape("?version=1&type=xml&key="+api_key + query)      @doc = Nokogiri::HTML(open(api_url + operation + uri))      puts @doc.to_s if Rails.env.development? # 開發模式輸出結果,便於調試      self    end  # 擷取返回的code  def code      if @doc        @doc.at("code").content.to_i      end    end  # 判斷返回結果是否成功  def success?      if @doc        self.code == 200      end    endend


如何調用呢

ApiDemo.new.userAdd(username: ‘moli‘).success?

如果要添加更多的api,則可以在 

API_QERUY

中添加即可


ruby 編寫api程式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.