用了fastapi还需要nginx_FastAPI 初见

本文介绍了如何使用FastAPI构建REST API,包括安装FastAPI、设计消息格式、数据库操作、服务端和客户端的实现,以及日程API的使用方法。通过实例展示了FastAPI在构建API时的优势。
摘要由CSDN通过智能技术生成

85a9e8b8f7f0be84d134d8bcc886ba27.png
什么是 API?它有什么用?本文从零开始教你搭建 API,认识 API 服务组件和 FastAPI 的使用细节。

GitHub项目地址:

luochang212/calendar-api​github.com
54738a730f380ad001fb6f6bb9e51bb0.png

什么是 API?

简单来说,API 是软件间相互传输数据的接口。它在生活中十分常见,比如博物馆订票系统中就使用了 API. 当你在手机应用上订票时,手机实际上发送了一个 HTTP 请求给远程服务器。远程服务器解析该请求。当确认所有字段信息均准确无误后,它才会把你的订票信息录入数据库,并回调成功标识。只有当上述操作全都被正确执行时,你的手机才会显示订票成功。

c8153cc828b4d3573a2e0ab8d548d359.png

API 程序通常运行在服务端 (server) 上。客户端 (client) 通过向 API 提供的网络接口发送请求,以实现对服务端的通信。服务端收到请求后,对请求进行解析。如果请求是合法的,则执行该请求,并将请求结果回调给客户端。一次典型的 API 请求大体上是这么个过程。

但是,在业务中,我们经常需要记录每次请求产生的中间状态、运行结果和日志信息等数据,那么就需要数据库的参与。服务端调用 数据库 (database) 以存储业务中产生的各种信息。

1. REST API

API 本身是高度个性化的,软件间可以用任意数据类型进行通信。但如果 API 是面向大众的,个性化将导致软件间沟通成本高企。这就需要有规范来约束其沟通方式。REST API 就是其中一种规范。REST API 提出了六项指导原则,只要 API 符合这六项指导原则,就能称之为“符合 REST 风格的 API”。

REST API 提出的六项指导原则分别是:
- Client–server
- Stateless
- Cacheable
- Uniform interface
- Layered system
- Code on demand (optional)
[了解更多]

PS: FastAPI 对构建 REST 风格的 API 提供良好的支持,这也是本文选用 FastAPI 的原因之一。

2. 安装 FastAPI

FastAPI 是 Python 下用于构建 API 的一个包。它的代码量少适合敏捷开发、服务稳定、支持异步,是目前搭建 API 的不二之选。

Let's start!!!

使用 FastAPI 需要先安装两个包。有关安装的详细信息,参见这里。

1.安装 fastapi

pip install fastapi

2.安装 uvicorn (或 hypercorn)

pip install uvicorn
FAQ:
❓ 什么是 uvicorn
Uvicorn is a lightning-fast ASGI server implementation, using uvloop and httptools. [reference]
❓ 什么是 ASGI server
ASGI (Asynchronous Server Gateway Interface) is a spiritual successor to WSGI, intended to provide a standard interface between async-capable Python web servers, frameworks, and applications.
Where WSGI provided a standard for synchronous Python apps, ASGI provides one for both asynchronous and synchronous apps, with a WSGI backwards-compatibility implementation and multiple servers and application frameworks. [reference]

3. 测试安装是否成功

安装完后,我们来搭一个超级简单的 API,来验证安装是否成功。调用此 API,它将回调一条 JSON 信息: {'key': 'value'}。下面的代码实现了这个功能。

首先,新建 main.py 文件,并在文件中写入如下内容。

# main.py
from fastapi import FastAPI

app = FastAPI()

@app.get('/')
def index():
    return {
    'key': 'value'}

然后,在命令行界面中,来到当前目录下,执行如下命令。

uvicorn main:app --reload

注:在此命令中,main 是脚本的名称(脚本名为 main.py),--reload 代表在每次脚本更新时重启 ASGI 服务。

最后,在浏览器中打开 http://127.0.0.1:8000,如果网页显示 {'key': 'value'} 的话,就说明我们的 API 搭建成功啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值