FastAPI简介与快速体验

【原文链接】FastAPI简介与快速体验

一、FastAPI简介

FastAPI是一个用于构建API的快速、高性能的WEB框架,使用Python3.6+并基于标准的Python类型提示。

二、FastAPI的特点

  • 快速:可与NodeJS和GO比肩的极高性能,是执行速度最快的Python的web框架之一
  • 高效编码:代码开发效率可提高至200%至300%
  • 更少的Bug:可减少大约40%的开发者人为导致的Bug
  • 智能:编辑器中自动补全和提示支持的非常好,可以大幅减少调试时间
  • 简单:学习和使用起来非常的简单
  • 健壮:代码具有很好的健壮性,而且还能自动生成帮助文档
  • 标准化:完全兼容API的相关标准,自动支持Swagger接口文档

三、安装

3.1 安装 fastapi

pip install fastapi

3.2 安装 ASGI 服务器

pip install "uvicorn[standard]"

四、FastAPI快速体验

4.1 编写main.py文件

编写如下代码,即实例化了一个app的对象,然后编写了两个接口,其中helloworld接口无需填写参数,直接返回一个字典,而get_info接口需要在url中填写一个参数,同样也是返回一个字典

from fastapi import FastAPI

app=FastAPI()

@app.get("/")
def helloworld():
    return {"Hello":"World"}

@app.get("/user/{name}")
def get_info(name: str):
    return {"name":name}

4.2 运行服务

可以直接使用如下命令执行

PS G:\redrose2100.com\fast_api_demo> uvicorn main:app --reload
INFO:     Will watch for changes in these directories: ['G:\\redrose2100.com\\fast_api_demo']                                                                                    
ERROR:    [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。                                                                                                  
PS G:\redrose2100.com\fast_api_demo>

显然这里报错了,报这个错误的原因是FastAPI默认的是使用8000端口,而当前本机已经占用8000端口了,因此可以通过–port参数修改端口,即再执行如下命令,即将端口修改为8080端口,可以看出此时已经运行起来了。

PS G:\redrose2100.com\fast_api_demo> uvicorn main:app --reload --port 8080
INFO:     Will watch for changes in these directories: ['G:\\redrose2100.com\\fast_api_demo']
INFO:     Uvicorn running on http://127.0.0.1:8080 (Press CTRL+C to quit)
INFO:     Started reloader process [14840] using WatchFiles                                                                                            
INFO:     Started server process [3664]
INFO:     Waiting for application startup.
INFO:     Application startup complete.                                                                                                                                          
WARNING:  WatchFiles detected changes in 'main.py'. Reloading...
INFO:     Started server process [18188]
INFO:     Waiting for application startup.
INFO:     Application startup complete. 

4.3 观察服务运行结果

直接使用浏览器打开 127.0.0.1:8080,则此时相当于调用了helloworld接口了,即直接返回一个字典了,如下:

打开 127.0.0.1:8080/docs 则可以打开FastAPI自带的swagger接口文档了,如下

可以将第一个接口展开,点击执行,如下,可以看到已经得到了返回值

把第二个接口展开,可以看到此时这里有一个必填参数,然后点击执行,即也得到了结果

至此就快速体验了一下FastAPI最简单的应用,使用起来非常的简单便捷

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
FastAPI是一个现代、快速(高性能)的Web框架,用于构建API。它基于Python 3.7+的类型提示和异步支持,提供了简单易用的API开发体验FastAPI具有以下特点: 1. 快速FastAPI使用基于Starlette的异步请求处理器,可以处理大量并发请求,并具有出色的性能。 2. 类型提示:FastAPI使用Python的类型提示功能,可以在编译时进行类型检查,并提供自动生成API文档的功能。 3. 自动文档生成:FastAPI可以根据代码中的类型提示和注释自动生成交互式API文档,包括请求和响应模型、参数验证等。 4. 异步支持:FastAPI完全支持异步编程,可以使用async/await语法编写异步代码,提高性能和并发处理能力。 5. 安全性:FastAPI内置了常见的安全功能,如身份验证、授权等,并提供了易于使用的方式来保护API。 6. 数据验证:FastAPI使用Pydantic库进行数据验证和转换,可以自动解析请求数据,并进行类型检查和转换。 7. WebSocket支持:FastAPI支持WebSocket协议,可以轻松地构建实时应用程序。 Pydantic是一个用于数据验证和解析的Python库,它与FastAPI紧密集成。Pydantic提供了一种声明性的方式来定义数据模型,可以自动进行数据验证、类型转换和文档生成。Pydantic具有以下特点: 1. 声明性:Pydantic使用Python的类型提示来定义数据模型,可以在编译时进行类型检查,并提供自动生成文档的功能。 2. 数据验证:Pydantic可以自动验证输入数据的类型、长度、格式等,并提供友好的错误提示。 3. 数据转换:Pydantic可以自动将输入数据转换为指定的类型,如字符串转整数、字符串转日期等。 4. 文档生成:Pydantic可以根据数据模型自动生成文档,包括字段说明、类型信息等。 5. 序列化和反序列化:Pydantic提供了方便的方法来将数据模型转换为JSON、XML等格式,并支持从这些格式解析数据模型。 总结起来,FastAPI是一个快速、现代化的Web框架,而Pydantic是一个用于数据验证和解析的库。它们可以一起使用,提供了简单易用的API开发体验,并自动生成交互式API文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redrose2100

您的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值