
Yahoo Finance API – 完整指南
在现代 Web 开发中,创建 RESTful API 是一项常见且重要的任务。RESTful API 通过 HTTP 提供标准化的通信方式,使得不同系统之间能够高效交互,成为现代 Web 应用程序的核心组成部分。Ruby on Rails(RoR)作为一个强大的 Web 开发框架,与轻量级 API 微框架 Grape 的结合,使得构建 RESTful API 变得更加高效和简洁。本文将详细介绍如何在 Ruby on Rails 应用中使用 Grape 构建 RESTful API,并提供一个完整的示例。
Grape 是一个专为构建 RESTful API 而设计的 Ruby 框架。它以轻量级著称,并且能够很好地与 Rails 集成。通过提供一个简单的 DSL(领域特定语言),Grape 让开发者可以轻松定义 API,同时专注于处理参数验证、格式化和版本控制等常见任务。
在开始之前,确保您已经安装了 Rails。如果尚未安装,可以通过以下命令创建一个新的 Rails 应用程序:
rails new grape_api_example
cd grape_api_example
然后运行以下命令安装所需的 gem:
bundle install
在 Rails 应用的 app
目录下,为 API 创建一个新目录:
mkdir app/api
接下来,创建一个 API 的基类文件 app/api/base_api.rb
,该类将继承自 Grape::API
,并作为所有 API 端点的基础。
为了确保 API 的向后兼容性,建议为 API 添加版本控制。在本示例中,我们将创建 API 的第一个版本(v1)。首先,创建一个目录 app/api/v1
,并在其中添加一个基础文件 app/api/v1/base.rb
。
接下来,我们将创建一个简单的用户管理端点。新建文件 app/api/v1/users.rb
,并添加以下代码:
module API
module V1
class Users < Grape::API
resource :users do
desc '返回用户列表'
get do
User.all
end
desc '返回指定用户'
params do
requires :id, type: Integer, desc: '用户 ID'
end
route_param :id do
get do
User.find(params[:id])
end
end
desc '创建用户'
params do
requires :name, type: String, desc: '用户名'
requires :email, type: String, desc: '用户邮箱'
end
post do
User.create!({
name: params[:name],
email: params[:email]
})
end
desc '更新用户'
params do
requires :id, type: Integer, desc: '用户 ID'
requires :name, type: String, desc: '用户名'
requires :email, type: String, desc: '用户邮箱'
end
put ':id' do
user = User.find(params[:id])
user.update({
name: params[:name],
email: params[:email]
})
end
desc '删除用户'
params do
requires :id, type: Integer, desc: '用户 ID'
end
delete ':id' do
User.find(params[:id]).destroy
end
end
end
end
end
要使 API 生效,需要在 config/routes.rb
文件中挂载 API。例如:
mount API::V1::Users => '/v1'
为了支持用户管理端点,我们需要生成一个用户模型。运行以下命令:
rails generate model User name:string email:string
rails db:migrate
启动 Rails 服务器:
rails server
您可以使用 curl 或 Postman 等工具测试 API 端点。以下是一些示例请求:
获取所有用户:
curl http://localhost:3000/v1/users
获取特定用户:
curl http://localhost:3000/v1/users/1
创建新用户:
curl -X POST http://localhost:3000/v1/users -d "name=John Doe&email=johndoe@example.com"
更新用户信息:
curl -X PUT http://localhost:3000/v1/users/1 -d "name=Jane Doe&email=janedoe@example.com"
删除用户:
curl -X DELETE http://localhost:3000/v1/users/1
通过结合 Ruby on Rails 和 Grape,您可以轻松构建功能强大且灵活的 RESTful API。Grape 提供了一个轻量级的框架,使得定义和管理 API 端点变得简单,而 Rails 则为底层基础设施提供了强大的支持。本示例展示了一个用于用户管理的基本 CRUD API,帮助您快速上手 Grape 的使用。基于此基础,您可以进一步扩展 API 功能,并将其与其他服务集成。
原文链接: https://www.railscarma.com/blog/building-a-restful-api-using-grape-in-ruby-on-rails/
Yahoo Finance API – 完整指南
WordPress REST API 内容注入漏洞分析
四款AI大模型API价格对比:DeepSeek R1、ChatGPT o3-mini、Grok3、通义千问 Max
四款AI大模型API基础参数、核心性能的区别:DeepSeek R1、ChatGPT o3-mini、Grok3、通义千问 Max
2025年多模态大模型API基础参数、核心性能:Deepseek、ChatGPT、文心一言
2025年最新推理大模型API价格对比:通义千问Max vs 豆包1.5 Pro vs 混元Lite
大模型新基座,基于FastAPI,利用Python开发MCP服务器
DeepSeek+ima:打造高效个人知识库,提升学习与工作效率
快速接入腾讯地图MCP Server