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

使用 Rails 构建 RESTful API

在构建 API 时,Rails 是一种非常流行且强大的框架选择。本教程将带您使用 Rails 构建一个简单的 RESTful API。通过这个 API,用户可以检索信用评分。虽然我们不会连接到任何后端系统来获取真实的信用评分,而是通过随机数生成器生成评分并返回给用户,但这将帮助您掌握使用 Rails 开发 RESTful API 的基础知识。


先决条件

在开始之前,请确保您已完成以下准备工作:

  1. 安装 Ruby
  2. 安装 Rails(运行命令:sudo gem install rails)。
  3. 准备好一个 IDE(集成开发环境)用于编辑代码。
  4. 安装 Postman,用于测试 API 端点

完成以上步骤后,您就可以开始构建 API 了!


添加代码

1. 创建 Rails API 项目

首先,我们需要生成一个新的 Rails API 项目。在终端中运行以下命令以创建项目:

rails new my_api --api

2. 配置 CORS

为了便于测试,我们需要设置 CORS(跨域资源共享)配置,允许来自所有来源的流量:

  1. 打开项目根目录下的 Gemfile 文件。

  2. 找到 rack-cors 条目并取消注释,使其看起来如下所示:

    [gem](https://www.explinks.com/provider/uid20241113157009d029d7)'rack-cors'
  3. 安装依赖项:

    bundleinstall
  4. 打开 config/initializers/cors.rb 文件,取消注释默认的 CORS 配置,并将 origins 设置为 "*",允许所有来源的流量:

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

注意:在生产环境中,建议根据实际需求限制来源并优化 CORS 配置。

3. 创建 GET 端点

定义路由

打开 config/routes.rb 文件,添加以下代码以定义 GET 端点:

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

编写控制器逻辑

导航到 app/controllers 目录,打开 application_controller.rb 文件,添加以下代码以实现随机生成信用评分的逻辑:

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

至此,API 的核心逻辑已经完成。


运行和测试代码

启动 Rails 服务器

在项目根目录中运行以下命令以启动 Rails 服务器:

rails server

默认情况下,服务器会在 localhost:3000 上运行。

测试 API

使用 Postman 或其他 HTTP 客户端发送 GET 请求至以下 URL:

http://localhost:3000/api/getcreditscore

您应该会收到如下响应:

{
 "credit_score": 750
}

提示:返回的 credit_score 是一个 500 到 900 之间的随机数。


总结

通过本教程,我们成功使用 Rails 构建了一个简单的 RESTful API,并实现了随机生成信用评分的功能。您可以通过扩展此项目,进一步学习如何与数据库交互、添加更多功能以及优化 API 的性能。

原文链接: https://www.moesif.com/blog/technical/api-development/Building-A-RESTful-API-With-Rails/
#你可能也喜欢这些API文章!

我们有何不同?

API服务商零注册

多API并行试用

数据驱动选型,提升决策效率

查看全部API→
🔥

热门场景实测,选对API

#AI文本生成大模型API

对比大模型API的内容创意新颖性、情感共鸣力、商业转化潜力

25个渠道
一键对比试用API 限时免费

#AI深度推理大模型API

对比大模型API的逻辑推理准确性、分析深度、可视化建议合理性

10个渠道
一键对比试用API 限时免费