
从2024年三个API趋势中学习,塑造新的一年
几乎每个主要的在线服务都提供 API(应用程序编程接口),它允许开发者通过编程方式访问服务功能。无论是 RESTful API 还是 JSON API,如果你计划开发应用程序,添加 API 功能都是必不可少的一步。
在本文中,我们将通过构建一个 Cowsay API 来学习如何实现这一目标。用户可以通过 API 发送文本,并使用 Cowsay 的参数自定义输出。最终,我们会将该 API 部署到 Heroku,并发布到 RapidAPI,使全球开发者都能使用。
在开始之前,请确保你已安装以下工具:
Rails 提供了生成精简 API 的选项,无需完整 HTML 功能,也可以跳过 ActiveRecord(无需数据库)。
运行命令创建 API 项目:
rails new cow_say --api --skip-active-record
在 Gemfile
中添加依赖:
# Gemfile
gem 'ruby_cowsay'
gem 'jbuilder'
安装依赖:
bundle install
API 将包含一个端点 /say
,客户端通过 POST 请求发送参数。
在 config/routes.rb
中添加:
Rails.application.routes.draw do
post 'say', to: 'cow#say'
end
在 app/controllers/cow_controller.rb
中:
class CowController < ApplicationController
def say
@message = Cow.new.say(params[:message])
end
end
在 app/views/cow/say.json.jbuilder
中:
json.message @message
启动 Rails 服务器:
rails server
使用 curl 测试 POST 请求:
curl localhost:3000/say \
-H 'Content-Type: application/json' \
-d '{"message": "Hello from RapidAPI"}'
输出示例:
{
"message": " _____________________\n< Hello from RapidAPI >\n ---------------------\n \\ ^__^\n \\ (oo)\\_______\n (__)\\ )\\/\\\n ||----w |\n || ||"
}
可解析 JSON:
curl localhost:3000/say \
-H 'Content-Type: application/json' \
-d '{"message": "Hello from RapidAPI"}' \
| ruby -r json -e "print JSON.parse(STDIN.read)['message']"
为了增强 API 功能,可以添加更多参数,例如:
修改控制器 say
方法以处理这些参数:
class CowController < ApplicationController
def say
@message = Cow.new(params[:cow] || 'cow').say(params[:message])
# 可添加验证逻辑
end
end
heroku login
heroku create your-app-name
git push heroku main
RapidAPI 是全球 API 市场,可让开发者发现和使用你的 API。发布步骤:
登录 RapidAPI 并创建新 API
设置基本 URL 为 Heroku 应用地址
配置请求头:
Content-Type: application/json
Accept: application/json
创建端点:
Say
POST
/say
定义请求体示例:
{"message": "Hello from RapidAPI", "cow": "stegosaurus", "balloon_type": "think"}
保存并测试端点,确保正常运行。
本文展示了如何使用 Ruby on Rails 构建 RESTful API,并通过 Heroku 部署与 RapidAPI 发布。通过这些步骤,你可以快速搭建一个功能丰富的 API,并分享给全球开发者。
进一步扩展可以考虑:
完整教程参考:RapidAPI 原文