所有文章 > API开发 > 使用 Rails 构建 RESTful API

使用 Rails 构建 RESTful API

使用 Rails 构建 RESTful API

在构建 API 时,Rails 是一种非常流行的编程语言选择,可用于构建强大的 RESTful API。在本教程中,我们将使用 Rails 构建一个简单的 REST API。Rails REST API 端点将允许用户检索信用评分。当然,我们不会链接到任何后端系统来获取信用评分,而是使用随机数生成器来生成分数并将其返回给用户。虽然很简单,但本教程将向您展示使用 Rails 进行 REST API 开发的基础知识。

先决条件

在开始之前,我们必须确保满足几个先决条件。要继续并运行本教程,您需要:

  1. 安装 Ruby
  2. 安装 Rails –sudo gem install rails
  3. 有一个可用的 IDE 来编辑你的代码
  4. 安装 Postman,以便可以测试端点

完成所有这 4 个先决条件后,我们就可以开始了!

添加代码

创建代码的第一步是生成 Rails API 项目。为此,我们将运行以下命令来创建一个新的 Rails API 应用程序。

rails new my_api --api

可选地,我们还将设置 CORS 配置以允许来自所有来源的流量,以便于测试。在根目录中的Gemfilerack-cors中,取消注释该条目。它应该看起来像这样。

gem "rack-cors"

取消注释后,我们需要安装依赖项。然后,在终端中运行以下命令来安装依赖项。

bundle install

在项目的根文件夹中,在config/initializers目录中,打开cors.rb文件。在cors.rb文件中,取消注释 CORS 配置,并将origins条目更改为“*”。这将允许所有来源,本质上允许所有流量流入服务。对于产品应用程序,您可能希望锁定并进一步拨入 CORS 配置。

该文件现在应如下所示:

Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins "*"

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

接下来,我们将为 创建GET端点api/getcreditscore。我们的第一步是创建端点的路由。为此,请打开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

现在路由已定义,我们将为端点创建控制器函数。该函数将返回一个 JSON 有效负载,其中包含 500 到 900 之间的随机数,代表信用评分。要添加此逻辑,请导航到目录中的application_controller.rbcontrollers。完成的控制器文件将如下例所示。

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

这样,我们的 API 就可以部署了。

运行并测试代码

在本例中,我们将在本地运行 Rails 应用程序。要本地运行 API,我们需要启动 Rails 服务器。我们可以在rails server应用程序的根目录中使用命令来执行此操作。

rails server

现在,我们的 Rails 应用程序和 API 已启动并运行。您可以通过 Postman 发送测试 HTTP 请求。通过向 发送请求localhost:3000/api/getcreditscore,您应该会看到从application_controller.rb文件中编写的处理程序200 OK返回的状态代码和信用评分。对于此测试,传入请求不需要请求正文。creditscore

默认情况下,rails 将在端口 3000 上运行。要更改这种情况,您可以打开目录中的puma.rbconfig文件并更改以下代码行以修补您希望服务器监听的端口。

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

总结

这样,我们就使用 Rails 创建了一个简单的 RESTful API。然后可以根据需要扩展此代码,以构建应用程序的 API。接下来,您可能希望使用 API 密钥保护 API,将 API 与 API 网关集成,查看 API 的使用情况,或通过API 货币化创造收入。要获得满足 API 分析和货币化需求的解决方案,请立即查看 Moesif以探索所有这些内容以及更多内容!

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