文档章节

ruby 编写api程序

moli
 moli
发布于 2015/06/07 20:51
字数 232
阅读 263
收藏 1
点赞 0
评论 6

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

moli

粉丝 112
博文 13
码字总数 2969
作品 1
深圳
程序员
加载中

评论(6)

moli
moli

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

果断差评,一堆代码,基本无文字。。。话说我的风格就是基本只有文字木有代码1321
下次写博客的时候,可能只有图片呢
独孤青冥
独孤青冥
果断差评,一堆代码,基本无文字。。。话说我的风格就是基本只有文字木有代码1321
Websited
Websited

引用来自“moli”的评论

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

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

djh
moli
moli

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

差评,居然就这么一堆代码就算博客了20
kymjs张涛
kymjs张涛
差评,居然就这么一堆代码就算博客了20
已销号
已销号
M
[转载]各种编程语言介绍

http://www.cnpack.org/showdetail.php?id=252&lang=zh-cn 各种语言的介绍 Table of contents [showhide] 1 各种语言的介绍(第二版) 1.1 各种语言的选择 1.2 各种语言的选择 2 我为什么选择...

kajhsdjkah
2012/06/29
2.1K
0
CommonJS

CommonJS API定义很多普通应用程序(主要指非浏览器的应用)使用的API,从而填补了这个空白。它的终极目标是提供一个类似Python,Ruby和Java标 准库。这样的话,开发者可以使用CommonJS API编...

匿名
2010/09/28
24.8K
0
无需图形界面环境下的浏览器项目一览表

本表几乎列出了所有无需图形界面环境下的浏览器开源项目,可用于自动化、测试或者其他用途。 软件名 介绍 支持语言 Awesomium 基于Chromium无图形界面浏览器引擎。 C++, .NET benv Benv是nod...

oschina
2016/07/27
11.4K
18
Ruby FFI

Ruby 解析器的性能一般,在一些对性能要求很高的场合我们必须用C语言来编写,然后使用Ruby去调用C库。但是,Ruby调用C库并不是一件轻松的事,需要你对Ruby的内部数据结构有比较深入的了解,甚...

匿名
2008/11/03
1K
0
ESB 服务器--Zato

Zato 是一个用 Python 编写的开源 ESB 和应用服务器。按照设计,它用于构建后端应用程序(即仅是API)和在SOA 中整合系统。 Zato 的目标用户是使用 Python 或者 Ruby 和 PHP 等其它动态语言的...

匿名
2013/05/27
7.1K
1
JavaScript挺入服务器端开发语言序列

Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始。 也许你还不知道,JavaScript现在已经成了一门可编写出效率极高的、可用于开发产品级web服务器的出色语言...

红薯
2010/03/12
3.5K
9
9 大跨平台移动 App 开发工具推荐

如今,移动应用开发已经变得越来越重要,开发人员面临最大的挑战之一就是在多个平台上运行应用程序。最新的应用程序代码支持“一次编写,到处运行”(WORA)的概念,即只要在一个平台上编写代...

编辑部的故事
2017/10/18
0
11
9 大跨平台移动 App 开发工具推荐

如今,移动应用开发已经变得越来越重要,开发人员面临最大的挑战之一就是在多个平台上运行应用程序。最新的应用程序代码支持“一次编写,到处运行”(WORA)的概念,即只要在一个平台上编写代...

mickelfeng
2017/10/19
0
0
使用 Rails Active Resource 简化 web 应用程序之间的互操作性

当今的应用程序不仅需要和基于浏览器的客户端互操作,还需要和其他应用程序互操作。为实现互操作性,web 应用程序通常提供一个 web 服务 API。web 服务 API 通过一个网络(比如 Internet)提...

IBMdW
2011/06/03
298
0
C++检索引擎--Xapian

Xapian是一个用C++编写的全文检索程序,他的作用类似于Java的lucene。尽管在Java世界lucene已经是标准的全文检索程序,但是C/C++世界并没有相应的工具,而Xapian则填补了这个缺憾。 Xapian的...

匿名
2009/01/09
15.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java基础——异常

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 异常处理: 可以挖很多个陷阱,但是不要都是一样...

凯哥学堂
18分钟前
0
0
180723-Quick-Task 动态脚本支持框架之结构设计篇

文章链接:https://liuyueyi.github.io/hexblog/2018/07/23/180723-Quick-Task-动态脚本支持框架之结构设计篇/ Quick-Task 动态脚本支持框架之结构设计篇 相关博文: 180702-QuickTask动态脚本...

小灰灰Blog
21分钟前
0
0
SBT 常用开发技巧

SBT 一直以来都是 Scala 开发者不可言说的痛,最主要的原因就是官方文档维护质量较差,没有经过系统的、循序渐进式的整理,导致初学者入门门槛较高。虽然也有其它构建工具可以选择(例如 Mill...

joymufeng
25分钟前
0
0
HBase in Practice - 性能、监控及问题解决

李钰(社区ID:Yu Li),阿里巴巴计算平台事业部高级技术专家,HBase开源社区PMC&committer。开源技术爱好者,主要关注分布式系统设计、大数据基础平台建设等领域。连续4年基于HBase/HDFS设计和...

中国HBase技术社区
26分钟前
1
0
ES18-JAVA API 批量操作

1.批量查询 Multi Get API public static void multiGet() {// 批量查询MultiGetResponse response = getClient().prepareMultiGet().add("my_person", "my_index", "1")// 查......

贾峰uk
31分钟前
0
0
SpringBoot2.0使用health

1,引入actuator <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency> 2,application.properties ......

暗中观察
38分钟前
0
0
阿里巴巴Java开发规约

###编程规约 命名风格 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。...

简心
42分钟前
0
0
如何用TypeScript来创建一个简单的Web应用

转载地址 如何用TypeScript来创建一个简单的Web应用 安装TypeScript 获取TypeScript工具的方式: 通过npm(Node.js包管理器) npm install -g typescript 构建你的第一个TypeScript文件 创建...

durban
47分钟前
0
0
分享好友,朋友圈自定义分享链接无效

这个问题是微信6.5.6版本以后,修改了分享规则:分享的连接必须在公众号后台设定的js安全域名内

LM_Mike
今天
0
0
2018年7月23日课程

一、LVS-DR介绍 director分配请求到不同的real server。real server 处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。负载均衡器仅处理一半的连接,避免了...

人在艹木中
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部