Rails RESTful API 教程:使用 Postman 测试 CRUD 操作
作者:API传播员 · 2025-09-26 · 阅读时间:4分钟
本文将带你从零开始使用 Ruby on Rails 构建 RESTful API,并通过 Postman 测试其 CRUD 功能。
一. REST API 简介
REST API(Representational State Transfer API)是不同软件应用之间进行数据交换和通信的接口。
在现代开发中,前后端分离架构更为常见:
- 前端专注用户体验
- 后端专注数据与业务逻辑
我们将使用 Rails 构建一个 RESTful API,并通过 Postman 测试其功能。
二. 创建 Rails RESTful API 项目
1. 初始化 Rails 项目
rails new rails-rest-api -d postgresql --api
cd rails-rest-api
--api 参数会生成一个专门用于 API 开发的 Rails 应用。
2. 创建模型、数据库和控制器
rails g model actor name:string country:string
rails db:create
rails db:migrate
rails g controller api/v1/actors
3. 配置路由
在 config/routes.rb 中添加:
Rails.application.routes.draw do
namespace :api do
namespace :v1 do
resources :actors
end
end
end
4. 填充示例数据
在 db/seeds.rb 添加示例数据:
Actor.create!(name: "Tom Holland", country: "United Kingdom")
Actor.create!(name: "Johnny Depp", country: "United States")
Actor.create!(name: "Margot Robbie", country: "Australia")
运行填充命令并启动服务器:
rails db:seed
rails server
访问 http://localhost:3000/api/v1/actors,即可看到返回的 JSON 数据。
三. 使用 Postman 测试 CRUD 操作
1. GET 请求(读取数据)
- 创建 GET 请求
- URL:
http://localhost:3000/api/v1/actors - 点击发送,返回所有演员数据 JSON
2. POST 请求(创建数据)
- 创建 POST 请求
- URL:
http://localhost:3000/api/v1/actors - Body → raw → JSON 输入:
{
"name": "Chris Hemsworth",
"country": "Australia"
}
- 发送请求,返回新创建的演员信息
3. PUT 请求(更新数据)
- 创建 PUT 请求
- URL:
http://localhost:3000/api/v1/actors/:id(替换:id为实际演员 ID) - Body → raw → JSON 输入:
{
"name": "Chris Evans",
"country": "United States"
}
- 发送请求,返回更新后的演员信息
4. DELETE 请求(删除数据)
- 创建 DELETE 请求
- URL:
http://localhost:3000/api/v1/actors/:id - 发送请求,即可删除指定演员
四. 配置跨域访问支持(CORS)
1. 安装 rack-cors Gem
在 Gemfile 添加:
gem 'rack-cors'
安装依赖:
bundle install
2. 配置 CORS
在 config/initializers/cors.rb 添加:
Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins "http://localhost:3001"
resource "*",
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head]
end
end
这样前端可以安全地访问 Rails API。
五. 总结
通过本教程,你已经学会:
- 使用 Rails 创建 RESTful API
- 实现 CRUD 操作并通过 Postman 测试
- 配置 CORS,实现前后端跨域通信
你现在可以扩展 API 功能,例如增加身份认证、分页查询或数据验证。
原文链接:Building a RESTful API with Rails and Testing CRUD using Postman
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)