先決條件

在開始之前,請確保您的計算機上已安裝以下內容:


創建新的 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 的模型,并包含以下屬性:

同時,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)測試以下端點:


結論

通過本教程,我們學習了如何使用 Ruby on Rails 創建 RESTful API。我們從創建新的 Rails API 開始,完成了數據庫設置、模型和遷移的創建、控制器的實現以及路由的配置。通過這些步驟,您已經掌握了使用 Rails 構建 API 的基礎流程。

原文鏈接: https://reintech.io/blog/how-to-create-a-restful-api-with-rails

上一篇:

Java Web服務:使用JAX-RS創建RESTful API

下一篇:

介紹全新的Rust REST API客戶端庫
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費