先決條件

在開始之前,請(qǐng)確保您已完成以下準(zhǔn)備工作:

  1. 安裝 Ruby
  2. 安裝 Rails(運(yùn)行命令:sudo gem install rails)。
  3. 準(zhǔn)備好一個(gè) IDE(集成開發(fā)環(huán)境)用于編輯代碼。
  4. 安裝 Postman,用于測試 API 端點(diǎn)

完成以上步驟后,您就可以開始構(gòu)建 API 了!


添加代碼

1. 創(chuàng)建 Rails API 項(xiàng)目

首先,我們需要生成一個(gè)新的 Rails API 項(xiàng)目。在終端中運(yùn)行以下命令以創(chuàng)建項(xiàng)目:

rails new my_api --api

2. 配置 CORS

為了便于測試,我們需要設(shè)置 CORS(跨域資源共享)配置,允許來自所有來源的流量:

  1. 打開項(xiàng)目根目錄下的 Gemfile 文件。

  2. 找到 rack-cors 條目并取消注釋,使其看起來如下所示:

    [gem](http://m.dlbhg.com/provider/uid20241113157009d029d7)'rack-cors'
  3. 安裝依賴項(xiàng):

    bundleinstall
  4. 打開 config/initializers/cors.rb 文件,取消注釋默認(rèn)的 CORS 配置,并將 origins 設(shè)置為 "*",允許所有來源的流量:

    Rails.application.config.middleware.insert_before 0, Rack::Cors do
    allowdo
    origins '*'
    resource '*',
    headers::any,
    methods:[:get,:[post](http://m.dlbhg.com/provider/uid2024120814472139bfa9),:put,:patch,:delete,:options,:head]
    end
    end

注意:在生產(chǎn)環(huán)境中,建議根據(jù)實(shí)際需求限制來源并優(yōu)化 CORS 配置。

3. 創(chuàng)建 GET 端點(diǎn)

定義路由

打開 config/routes.rb 文件,添加以下代碼以定義 GET 端點(diǎn):

Rails.application.routes.draw do
 get 'api/getcreditscore', to: 'application#get_credit_score'
end

編寫控制器邏輯

導(dǎo)航到 app/controllers 目錄,打開 application_controller.rb 文件,添加以下代碼以實(shí)現(xiàn)隨機(jī)生成信用評(píng)分的邏輯:

class ApplicationController < ActionController::API
 def get_credit_score
 score = rand(500..900)
 render json: { credit_score: score }
 end
end

至此,API 的核心邏輯已經(jīng)完成。


運(yùn)行和測試代碼

啟動(dòng) Rails 服務(wù)器

在項(xiàng)目根目錄中運(yùn)行以下命令以啟動(dòng) Rails 服務(wù)器:

rails server

默認(rèn)情況下,服務(wù)器會(huì)在 localhost:3000 上運(yùn)行。

測試 API

使用 Postman 或其他 HTTP 客戶端發(fā)送 GET 請(qǐng)求至以下 URL:

http://localhost:3000/api/getcreditscore

您應(yīng)該會(huì)收到如下響應(yīng):

{
 "credit_score": 750
}

提示:返回的 credit_score 是一個(gè) 500 到 900 之間的隨機(jī)數(shù)。


總結(jié)

通過本教程,我們成功使用 Rails 構(gòu)建了一個(gè)簡單的 RESTful API,并實(shí)現(xiàn)了隨機(jī)生成信用評(píng)分的功能。您可以通過擴(kuò)展此項(xiàng)目,進(jìn)一步學(xué)習(xí)如何與數(shù)據(jù)庫交互、添加更多功能以及優(yōu)化 API 的性能。

原文鏈接: https://www.moesif.com/blog/technical/api-development/Building-A-RESTful-API-With-Rails/

上一篇:

構(gòu)建RESTful API的4大最佳Ruby框架

下一篇:

如何使用Rust構(gòu)建強(qiáng)大的GraphQL API
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

數(shù)據(jù)驅(qū)動(dòng)選型,提升決策效率

查看全部API→
??

熱門場景實(shí)測,選對(duì)API

#AI文本生成大模型API

對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

對(duì)比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)