FastAPI 学习之路(二)

本文介绍如何使用FastAPI框架创建简单的HTTP服务,包括安装配置、定义路由及处理GET和POST请求的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前的文章已经介绍了如何安装,以及简单的使用,这篇文章呢,我们就不去分享如何安装对应的包了。

我们如何去编写呢,其实很简单,按照下面的步骤,一个简单的基于fastapi的接口就编写完毕。

首先:创建一个main.py

 第一步:导入

from fastapi import FastAPI

   第二步:实例化

app = FastAPI()

第三步:定义一个路径操作装饰器

@app.get("/")
'''
@app.get("/") 告诉 FastAPI 在它下方的函数负责处理如下访问请求:
请求路径为 /
使用 get 操作
你也可以使用其他的操作:
    @app.post()
    @app.put()
    @app.delete()
    以及更少见的:
    @app.options()
    @app.head()
    @app.patch()
    @app.trace()
这些对应都是请求方式 '''

第 四步:定义路径操作函数及返回内容

#函数在路径装饰器的下方
#写法一
@app.get("/")
async def root():
    #第五步定义的返回内容
    return {"message": "Hello World"}
#写法二
@app.get("/")
def root():
    #第五步定义的返回内容
    return {"message": "Hello World"}

返回内容可以是dict,也可以是list, str、int 等都可以。

然后我们就可以去启动了。

uvicorn main:app --reload #下面是启动完毕 

 我们去浏览器访问,

 

结果返回正常。

这里要说明的,上面app以及包括main.py还有方法的名称,大家都可以自己自定义,自定义后启动,就按照命令改成自己可以用的即可。

   上面是一个简单的get请求,其他请求方式也是可以的,比如我们写一个post的路径,我们这里先不交验参数

定义一个/create路径,返回post。请求方式是post,如何实现呢?

@app.post("/create")
def post():  
    return "post"

 我们看到服务自动重启了

那么我们用浏览器去访问下

接口直接给我们返回了,方法不被允许,那么我们可以用postman来试下。

这次我们使用post直接返回了,我们定义的post的字符串。这次就大概的给大家演示一个如何创建接口,按照六步法(其中四五可以认为是一步)创建即可。

导入 FastAPI。
创建一个 app 实例。
编写一个路径操作装饰器(如 @app.get("/"))。
编写一个路径操作函数(如上面的 def root(): ...)
定义返回值
运行开发服务器(如 uvicorn main:app --reload)

 

 

### 关于 FastAPI学习教程和资源 #### 一、初识 FastAPI FastAPI 是一个现代、高性能的 Python Web 框架,专为构建 API 设计。其特点在于利用 Python 类型提示来提供自动化的数据验证功能,并能自动生成交互式的 API 文档。这使得开发者可以更专注于业务逻辑而非框架细节[^1]。 #### 、环境配置与安装 为了开始使用 FastAPI 进行开发,首先需要确保已正确安装 Python 环境。对于大多数情况来说,建议使用最新稳定版本的 Python 来获得更好的兼容性和安全性支持。完成 Python 安装之后,则可以通过 pip 工具轻松安装 FastAPI 及其他依赖项。 ```bash pip install fastapi[all] ``` 此命令会安装 FastAPI 和推荐使用的 ASGI 服务器 Uvicorn,后者负责运行应用程序实例[^2]。 #### 三、创建第一个 FastAPI 应用程序 通过一段简单的代码即可启动一个基本的服务端点: ```python from fastapi import FastAPI app = FastAPI() @app.get("/") async def root(): return {"message": "Hello World"} ``` 上述脚本定义了一个根路径处理器函数 `root` ,当访问 `/` 路径时返回 JSON 响应消息 “Hello World”。这里采用的是异步编程风格(`async`),这是 FastAPI 支持的一种提高并发处理能力的方式之一。 #### 四、深入理解 RESTful 接口设计原则 RESTful 接口遵循特定的设计模式,其中每个 URL 表示一种资源;而 HTTP 方法(如 GET, POST, PUT, DELETE)则对应着对该资源执行的不同操作。这些请求之间保持无状态特性,意味着每次调用都是独立完整的事务,不会保留任何上下文信息。此外,在 C 或 B/S 架构下,客户端和服务端之间的通信通常以 JSON 格式交换数据。 #### 五、探索更多官方文档及其他优质资料 除了以上基础内容外,还有许多值得深入了解的知识领域等待挖掘,比如参数校验、安全认证机制等高级话题。为此,强烈推荐阅读由社区维护者精心编写的 [FastAPI 官方文档](https://fastapi.tiangolo.com/) 。该网站不仅提供了详尽的功能说明和技术指南,还包含了大量实用案例供参考学习。 另外,网络上也存在不少优质的第三方博客文章或视频课程可以帮助加深理解和实践技能。例如 GitHub 上的一些开源项目以及 YouTube 平台上针对不同难度级别的教学系列都非常有帮助价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值