📅  最后修改于: 2023-12-03 15:06:32.399000             🧑  作者: Mango
在现代 web 开发中,经常需要通过调用 API 来实现数据的交换。Ruby 作为一门流行的编程语言,有很多途径可以用来调用 API。在本文中,我们将介绍一些常见的方式和工具,以及如何使用它们来调用 API。
在 Ruby 标准库中,有一个名为 Net::HTTP 的库,它提供了与 HTTP 协议的交互功能,可以用来调用 API。以下是一个使用 Net::HTTP 调用 API 的示例:
require 'net/http'
url = URI.parse('https://api.example.com/users')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = (url.scheme == "https")
request = Net::HTTP::Get.new(url.request_uri)
response = http.request(request)
puts response.body
代码解释:
require 'net/http'
引入 Net::HTTP 库。
url = URI.parse('https://api.example.com/users')
定义 API 地址。
http = Net::HTTP.new(url.host, url.port)
新建 Net::HTTP 实例并设置请求 host 和 port。
http.use_ssl = (url.scheme == "https")
如果 API 使用 HTTPS 协议,则开启 SSL。
request = Net::HTTP::Get.new(url.request_uri)
新建一个 GET 请求。
response = http.request(request)
发送请求并获取响应。
puts response.body
输出响应体。
使用 Net::HTTP 调用 API 的好处是它的标准库自带,无需额外安装和配置依赖库。
Faraday 是一个常用的 HTTP 客户端库,可以用来与 API 交互。它支持多种 HTTP 库(如 Net::HTTP、HTTParty、Typhoeus 等)作为底层传输,并提供了统一的 API,可以方便地在这些库之间切换。以下是一个使用 Faraday 调用 API 的示例:
require 'faraday'
conn = Faraday.new(url: 'https://api.example.com') do |faraday|
faraday.request :url_encoded
faraday.response :logger
faraday.adapter Faraday.default_adapter
end
response = conn.get '/users'
puts response.body
代码解释:
require 'faraday'
引入 Faraday 库。
conn = Faraday.new(url: 'https://api.example.com')
新建 Faraday 实例,并设置 API 地址。
faraday.request :url_encoded
对请求参数进行 URL 编码。
faraday.response :logger
日志输出,方便调试。
faraday.adapter Faraday.default_adapter
默认使用 Net::HTTP 库作为底层传输。
response = conn.get '/users'
发送 GET 请求。
puts response.body
输出响应体。
使用 Faraday 可以方便地切换 HTTP 库,并且提供了丰富的拦截器和插件。
RestClient 是另一个常用的 HTTP 客户端库,可以用来与 API 交互。它提供了简单的 API,可以方便地进行 GET、POST、PUT、DELETE 等请求。以下是一个使用 RestClient 调用 API 的示例:
require 'rest-client'
response = RestClient.get 'https://api.example.com/users'
puts response.body
代码解释:
require 'rest-client'
引入 RestClient 库。
response = RestClient.get 'https://api.example.com/users'
发送 GET 请求,并获取响应。
puts response.body
输出响应体。
RestClient 提供了简单的 API,易于上手和使用。
本文介绍了三种常用的方式和工具来调用 API:使用 Ruby 自带的 Net::HTTP 库、使用 Faraday 库和使用 RestClient 库。它们都有各自的优缺点,可以根据具体情况选择最适合自己的方式和工具来调用 API。