allow do
origins "*"

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

接下來,我們將為 創(chuàng)建GET端點api/getcreditscore。我們的第一步是創(chuà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)在路由已定義,我們將為端點創(chuàng)建控制器函數(shù)。該函數(shù)將返回一個 JSON 有效負(fù)載,其中包含 500 到 900 之間的隨機數(shù),代表信用評分。要添加此邏輯,請導(dǎo)航到目錄中的application_controller.rbcontrollers。完成的控制器文件將如下例所示。

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

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

運行并測試代碼

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

rails server

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

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

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

總結(jié)

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

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

上一篇:

20個必知的自動化機器學(xué)習(xí)庫(Python)

下一篇:

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

我們有何不同?

API服務(wù)商零注冊

多API并行試用

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

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

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

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

#AI深度推理大模型API

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

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