首页 > 其他分享 >fastapi

fastapi

时间:2023-09-15 16:47:58浏览次数:39  
标签:code async fastapi app time FastAPI

fastapi

FastApi官网:https://fastapi.tiangolo.com/zh/
    
-FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。
-可与 NodeJS 和 Go 并肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。
# pip install fastapi
# pip install uvicorn
import time
from fastapi import FastAPI
app = FastAPI()

@app.get('/')  # 向根路径发送请求
async def index():  
    return {'code': 100, 'msg': '成功'}

# 运行服务器命令:uvicorn py文件名:app --reload
# 启动后,我们修改代码会自动重启,监听8000端口
import time
from fastapi import FastAPI
app = FastAPI()

@app.get('/') 
async def index():  # 加上async,就是协程函数
    await time.sleep(3)
    return {'code': 100, 'msg': '成功'}

@app.get('/home')
async def home():
    time.sleep(2)
    return {'code': 100, 'msg': 'home'}

@app.get('/order')
async def order():
    time.sleep(2)
    return {'code': 100, 'msg': 'order'}

# 如果是django,flask,这种同步框架,他会开启三个线程来处理这三个请求
# fastapi,sanic这种框架,就只用一个线程处理这三个请求(单线程下的并发),开启第一个遇到IO操作,就会切换,去运行第二个函数。

 

标签:code,async,fastapi,app,time,FastAPI
From: https://www.cnblogs.com/shajue/p/17705345.html

相关文章

  • FastApi async函数一定比普通函数快吗,你是否有相同的问号
    FastAPI是一个用于构建API的现代、快速(高性能)的web框架,使用Python3.6+并基于标准的Python类型提示关键特性:快速:可与NodeJS和Go并肩的极高性能(归功于Starlette和Pydantic)。最快的Pythonweb框架之一。高效编码:提高功能开发速度约200%至300%。*更少......
  • Adding API Key Authentication to a FastAPI application
    https://joshdimella.com/blog/adding-api-key-auth-to-fast-apiStep1:DefineaListofValidAPIKeysAPI_KEYS=["9d207bf0-10f5-4d8f-a479-22ff5aeff8d1","f47d4a2c-24cf-4745-937e-620a5963c0b8","b7061546-75e8-444b-a2c4......
  • fastapi设置响应示例
    classTest(BaseModel):name:strdescription:intcreated_at:strupdated_at:strdata:dict@validator("data",pre=True)defparse_data(cls,value):returnjson.loads(value)ifvalueelse{}@validator(......
  • FastAPI学习-12. 请求Cookie 参数
    前言你可以像定义 Query 参数和 Path 参数一样来定义 Cookie 参数。声明 Cookie 参数首先,导入 Cookie:fromfastapiimportCookie,FastAPI声明 Cookie 参数的结构与声明 Query 参数和 Path 参数时相同。第一个值是参数的默认值,同时也可以传递所有验证参数......
  • 在线问诊 Python、FastAPI、Neo4j — 创建症状节点
    目录参考创建药品节点。importloggingfromutils.neo4j_providerimportdriverlogging.root.setLevel(logging.INFO)#并生成CQLdefgenerate_cql()->str:cql="""CREATE(symptom1:Symptom{name:"膝盖疼"}),(symptom2......
  • FastAPI 参数体检RequestBody
    一、概述一般对于RequestBody不会通过get提交,对于get提交的参数一般称为是查询参数。所以,如果是通过POTS,PUT等方式提交的参数信息,我们一般是放到RequestBody来提交到我们的后端。对于如何接收和校验请求体,FastApi提供的形式是使用:frompydanticimportBaseModel示例如下:im......
  • yolov5-fastapi-demo更换中文标签
     本章是基于yolov5-fastapi-demo项目的更改WelkinU/yolov5-fastapi-demo:FastAPIWrapperofYOLOv5(github.com)首先,因为训练的时候设置的标签是英文,换成中文要重新训练,而且使用中文训练也很繁琐要改很多东西,因此可以直接训练的时候用英文标签,然后在识别绘图的时候做一个判断直......
  • 在线问诊 Python、FastAPI、Neo4j — 创建节点
    目录前提条件创建节点Demo准备数据在线问诊Python、FastAPI、Neo4j—创建节点Neo4j节点的标签可以理解为Java中的实体。根据常规流程:首先有什么症状,做哪些对应的检查,根据检查诊断什么疾病,需要用什么药物治疗,服药期间要注意哪些饮食,需要做哪些运行在线问诊大概创建:症状......
  • Python 框架(Flask,tornado,fastAPI)Go 的gin框架 Java spring 框架中的性能对比
    使用jmeter进行压测:配置如下: Flask框架:Python代码:fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhello_world():return'Hello,World!'if__name__=='__main__':app.run(port=8080)测试结果: Tornado......
  • Python FastAPI 异步获取 Neo4j 数据
    前提条件先往Neo4j里,准备数据参考:https://www.cnblogs.com/vipsoft/p/17631347.html#创建传承人搭建FastAPI项目:https://www.cnblogs.com/vipsoft/p/17684079.html改造utils/neo4j_provider.py增加了暴露给外面调用的属性,同时提供了同步和异步执行的驱动#!/usr/bin/py......