所有文章 > API开发 > 如何使用 Rails 创建 RESTful API
如何使用 Rails 创建 RESTful API

如何使用 Rails 创建 RESTful API

在本教程中,我们将学习如何使用 Ruby on Rails 创建 RESTful API。这将帮助您掌握构建 API 的基础知识,并了解 Rails 如何简化开发人员在创建、读取、更新和删除资源时的操作流程。本文还将通过示例和代码片段,逐步指导您完成整个过程。


先决条件

在开始之前,请确保您的计算机上已安装以下内容:

  • Ruby(版本 2.5.0 或更高)

创建新的 Rails API

首先,我们需要创建一个新的 Rails 应用程序,并启用 API 配置。API 配置会生成一个精简的应用程序,仅包含构建 API 所需的组件。在终端中运行以下命令:

$ rails new my_api --api

此命令将创建一个名为 my_api 的新 Rails 应用程序,该应用程序的目录结构已针对 API 开发进行了优化。接下来,进入新应用程序的目录:

$ cd my_api

创建数据库

在构建 API 之前,我们需要设置数据库。Rails 默认使用 SQLite3 作为数据库,但您可以根据需要切换到其他数据库系统。

打开 config/database.yml 文件,确保包含以下配置:

default: &default
 adapter: sqlite3
 pool: 
 timeout: 5000

然后,运行以下命令创建数据库:

$ rails db:create

创建模型和迁移

接下来,我们将创建一个简单的 API 来管理任务列表。首先,生成一个名为 Task 的新模型:

$ rails generate model Task title:string description:text completed:boolean

此命令会创建一个名为 Task 的模型,并包含以下属性:

  • title:字符串类型
  • description:文本类型
  • completed:布尔类型

同时,Rails 会在 db/migrate 目录中生成一个迁移文件。运行以下命令以应用迁移:

$ rails db:migrate

创建控制器

接下来,我们需要创建一个控制器来处理 API 请求。使用以下命令生成一个名为 Tasks 的控制器:

$ rails generate controller Tasks

此命令将在 app/controllers 目录中创建一个名为 tasks_controller.rb 的文件。打开该文件并进行如下修改:

class TasksController < ApplicationController
 before_action :set_task, only: [:show, :update, :destroy]

# GET /tasks
 def index
 @tasks = Task.all
 render json: @tasks
 end

# GET /tasks/:id
 def show
 render json: @task
 end

# POST /tasks
 def create
 @task = Task.new(task_params)
 if @task.save
 render json: @task, status: :created, location: @task
 else
 render json: @task.errors, status: :unprocessable_entity
 end
 end

# PATCH/PUT /tasks/:id
 def update
 if @task.update(task_params)
 render json: @task
 else
 render json: @task.errors, status: :unprocessable_entity
 end
 end

# DELETE /tasks/:id
 def destroy
 @task.destroy
 end

 private

 def set_task
 @task = Task.find(params[:id])
 end

 def task_params
 params.require(:task).permit(:title, :description, :completed)
 end
end

以上代码为 API 定义了必要的 CRUD 操作,并设置了 JSON 格式的响应。


配置路由

最后,我们需要为 API 配置路由。打开 config/routes.rb 文件,并添加以下代码:

Rails.application.routes.draw do
 resources :tasks
end

这将为 TasksController 中定义的所有操作生成必要的路由。


测试 API

现在,您的 API 已经准备好进行测试。启动 Rails 服务器:

$ rails server

然后,您可以使用工具(如 Postmancurl)测试以下端点:

  • GET /tasks:获取所有任务
  • GET /tasks/:id:获取特定任务
  • POST /tasks:创建新任务
  • PATCH/PUT /tasks/:id:更新任务
  • DELETE /tasks/:id:删除任务

结论

通过本教程,我们学习了如何使用 Ruby on Rails 创建 RESTful API。我们从创建新的 Rails API 开始,完成了数据库设置、模型和迁移的创建、控制器的实现以及路由的配置。通过这些步骤,您已经掌握了使用 Rails 构建 API 的基础流程。

原文链接: https://reintech.io/blog/how-to-create-a-restful-api-with-rails
#你可能也喜欢这些API文章!

我们有何不同?

API服务商零注册

多API并行试用

数据驱动选型,提升决策效率

查看全部API→
🔥

热门场景实测,选对API

#AI文本生成大模型API

对比大模型API的内容创意新颖性、情感共鸣力、商业转化潜力

25个渠道
一键对比试用API 限时免费

#AI深度推理大模型API

对比大模型API的逻辑推理准确性、分析深度、可视化建议合理性

10个渠道
一键对比试用API 限时免费