MST
星途 面试题库

面试题:Ruby 中如何使用 Rails 搭建一个简单的 RESTful API 并处理 GET 请求

假设你使用 Ruby on Rails 框架,要创建一个简单的 RESTful API 用于获取用户列表。请描述创建过程,包括控制器、路由以及模型相关的代码片段,同时说明如何处理 GET 请求以返回用户数据。
15.1万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试

1. 创建模型

首先创建 User 模型,在终端运行以下命令:

rails generate model User name:string email:string

这会生成一个 User 模型的迁移文件和模型文件。迁移文件用于创建数据库表,在迁移文件中定义表结构,如下(db/migrate/[timestamp]_create_users.rb):

class CreateUsers < ActiveRecord::Migration[7.0]
  def change
    create_table :users do |t|
      t.string :name
      t.string :email

      t.timestamps
    end
  end
end

然后运行迁移命令将表创建到数据库中:

rails db:migrate

app/models/user.rb 模型文件内容:

class User < ApplicationRecord
end

2. 创建控制器

运行以下命令创建 UsersController

rails generate controller Users index

app/controllers/users_controller.rb 内容:

class UsersController < ApplicationController
  def index
    @users = User.all
    render json: @users
  end
end

3. 配置路由

config/routes.rb 文件中添加如下路由:

Rails.application.routes.draw do
  get 'users', to: 'users#index'
  # 或者使用资源路由
  # resources :users, only: [:index]
end

4. 处理 GET 请求返回用户数据

当客户端发送一个 GET 请求到 /users 路由时,Rails 会根据路由配置找到 UsersControllerindex 方法。在 index 方法中,通过 User.all 获取数据库中所有的用户记录,并使用 render json: @users 将这些用户数据以 JSON 格式返回给客户端。