所有文章 > API开发 > 使用 Rails 构建 RESTful 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/

#你可能也喜欢这些API文章!