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

中添加即可


转载于:https://my.oschina.net/moli/blog/426051

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值