ruby 编写api程序
博客专区 > moli 的博客 > 博客详情
ruby 编写api程序
moli 发表于3年前
ruby 编写api程序
  • 发表于 3年前
  • 阅读 254
  • 收藏 1
  • 点赞 0
  • 评论 6

新睿云服务器60天免费使用,快来体验!>>>   

摘要: ruby写api程序非常简单,尤其是幽灵方法的使用

其实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
    end
end


如何调用呢

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

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

API_QERUY

中添加即可


  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
moli
粉丝 112
博文 13
码字总数 2969
作品 1
评论 (6)
已销号
M
kymjs张涛
差评,居然就这么一堆代码就算博客了20
moli

引用来自“张涛OSC”的评论

差评,居然就这么一堆代码就算博客了20
Websited

引用来自“moli”的评论

引用来自“张涛OSC”的评论

差评,居然就这么一堆代码就算博客了20

djh
独孤青冥
果断差评,一堆代码,基本无文字。。。话说我的风格就是基本只有文字木有代码1321
moli

引用来自“独孤青冥”的评论

果断差评,一堆代码,基本无文字。。。话说我的风格就是基本只有文字木有代码1321
下次写博客的时候,可能只有图片呢
×
moli
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: