allow do
origins "*"

resource "*",
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head]
end
end

接下來,我們將為 創(chuàng)建GET端點(diǎn)api/getcreditscore。我們的第一步是創(chuàng)建端點(diǎn)的路由。為此,請(qǐng)打開config目錄中的 routes.rb 文件。

Rails.application.routes.draw do
# Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html

# Defines the root path route ("/")
# root "articles#index"

get 'api/getcreditscore', to: 'application#creditscore'
end

現(xiàn)在路由已定義,我們將為端點(diǎn)創(chuàng)建控制器函數(shù)。該函數(shù)將返回一個(gè) JSON 有效負(fù)載,其中包含 500 到 900 之間的隨機(jī)數(shù),代表信用評(píng)分。要添加此邏輯,請(qǐng)導(dǎo)航到目錄中的application_controller.rbcontrollers。完成的控制器文件將如下例所示。

class ApplicationController < ActionController::API
def creditscore
render json: { creditscore: rand(500..900) }
end
end

這樣,我們的 API 就可以部署了。

運(yùn)行并測(cè)試代碼

在本例中,我們將在本地運(yùn)行 Rails 應(yīng)用程序。要本地運(yùn)行 API,我們需要啟動(dòng) Rails 服務(wù)器。我們可以在rails server應(yīng)用程序的根目錄中使用命令來執(zhí)行此操作。

rails server

現(xiàn)在,我們的 Rails 應(yīng)用程序和 API 已啟動(dòng)并運(yùn)行。您可以通過 Postman 發(fā)送測(cè)試 HTTP 請(qǐng)求。通過向 發(fā)送請(qǐng)求localhost:3000/api/getcreditscore,您應(yīng)該會(huì)看到從application_controller.rb文件中編寫的處理程序200 OK返回的狀態(tài)代碼和信用評(píng)分。對(duì)于此測(cè)試,傳入請(qǐng)求不需要請(qǐng)求正文。creditscore

默認(rèn)情況下,rails 將在端口 3000 上運(yùn)行。要更改這種情況,您可以打開目錄中的puma.rbconfig文件并更改以下代碼行以修補(bǔ)您希望服務(wù)器監(jiān)聽的端口。

port ENV.fetch("PORT") { 3000 }

總結(jié)

這樣,我們就使用 Rails 創(chuàng)建了一個(gè)簡(jiǎn)單的 RESTful API。然后可以根據(jù)需要擴(kuò)展此代碼,以構(gòu)建應(yīng)用程序的 API。接下來,您可能希望使用 API 密鑰保護(hù) API,將 API 與 API 網(wǎng)關(guān)集成,查看 API 的使用情況,或通過API 貨幣化創(chuàng)造收入。要獲得滿足 API 分析和貨幣化需求的解決方案,請(qǐng)立即查看 Moesif以探索所有這些內(nèi)容以及更多內(nèi)容!

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

上一篇:

20個(gè)必知的自動(dòng)化機(jī)器學(xué)習(xí)庫(kù)(Python)

下一篇:

在 VS Code 調(diào)試器中調(diào)試 Node js Express API
#你可能也喜歡這些API文章!

我們有何不同?

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

多API并行試用

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

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(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)