FastAPI 安装与配置指南
1. 项目基础介绍
FastAPI 是一个用于快速创建健壮、标准化 API 端点的 Ruby 库。它通过构建高效的 SQL 查询,利用 JOIN 和子查询来基于模型依赖(如 belongs_to
、has_one
和 has_many
)返回人类可读的标准 API 输出。
2. 项目使用的关键技术和框架
- Ruby on Rails: FastAPI 是基于 Ruby on Rails 框架开发的,它利用 Rails 的模型关联和迁移系统。
- ActiveRecord: Rails 的数据库ORM(对象关系映射),用于与数据库交互。
- Oj (Optimized JSON): 用于JSON序列化和反序列化,提高性能。
- PostgreSQL: FastAPI 当前支持 PostgreSQL 作为数据层。
3. 项目安装和配置准备工作
在开始安装 FastAPI 之前,您需要确保您的开发环境满足以下要求:
- Ruby 安装(建议版本 >= 2.5.0)
- Rails 安装(建议版本 >= 5.0.0)
- PostgreSQL 数据库服务器
- Node.js 和 Yarn(用于前端资源打包)
详细安装步骤
-
安装 Ruby 和 Rails
如果您还没有安装 Ruby,可以使用 rbenv 或 rvm 进行安装。安装完成后,通过 gem 安装 Rails。
gem install rails
-
创建新的 Rails 项目
创建一个新的 Rails 项目,并确保选择 PostgreSQL 作为数据库。
rails new my_project --database=postgresql cd my_project
-
安装 FastAPI
在您的 Rails 项目中,将 FastAPI 添加到 Gemfile 中,然后执行
bundle install
。# Gemfile gem 'fastapi'
bundle install
-
配置 PostgreSQL
在项目根目录下,找到
config/database.yml
文件,并配置 PostgreSQL 的连接信息。# config/database.yml default: &default adapter: postgresql encoding: unicode pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> timeout: 5000 username: your_username password: your_password host: localhost
-
创建并迁移数据库
使用 Rails 命令创建数据库并进行迁移。
rails db:create rails db:migrate
-
配置 FastAPI
根据您的模型和需求,在模型类中添加
fastapi_standard_interface
和fastapi_default_filters
等方法调用,以定义 API 端点的输出和默认过滤器。# app/models/bucket.rb class Bucket < ApplicationRecord belongs_to :person has_many :marbles fastapi_standard_interface [:id, :color, :material, :person, :marbles] fastapi_default_filters({ marbles: { radius__lte: 10 } }) end
-
创建 API 控制器和路由
在
config/routes.rb
中定义路由,并在对应的控制器中添加index
动作。# config/routes.rb namespace :api do namespace :v1 do defaults format: :json do resources :buckets end end end
# app/controllers/api/v1/buckets_controller.rb class Api::V1::BucketsController < ApplicationController def index filters = request.query_parameters render json: Bucket.fastapi.filter(filters) end end
-
启动 Rails 服务器
最后,启动 Rails 服务器并访问 API 端点。
rails server
您现在可以通过浏览器或任何 HTTP 客户端访问
http://localhost:3000/api/v1/buckets
来查看 Buckets 的列表。
以上就是 FastAPI 的详细安装和配置指南。遵循这些步骤,您应该能够成功安装并运行 FastAPI。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考