
FastAPI
小帆芽芽
热衷python,AI,算法,计算机视觉,爬虫。欢迎大家一起学习交流进步(σ′▽‵)′▽‵)σ
展开
-
17.FastAPI的OAuth2的密码模式
17.FastAPI的OAuth2的密码模式用户请求验证原理说明用户携带用户名和密码去客户端请求应用,过程中会有用户认证服务,验证通过会返回用户一个token,用户拿着这个token就可以取去使用他想请求的东西了初识OAuth2的请求原理from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestFormapp06 = APIRouter()"""OAuth2 密码模式和 FastAPI原创 2022-01-03 20:25:16 · 3988 阅读 · 0 评论 -
16.FastAPI依赖
16.FastAPI依赖函数依赖from fastapi import Depends, HTTPException, Header"""Dependencies 创建、导入和声明依赖"""async def common_parameters(q: Optional[str] = None, page: int = 1, limit: int = 100): return {"q": q, "page": page, "limit": limit}@app05.get("/d原创 2022-01-03 20:19:41 · 599 阅读 · 0 评论 -
15.FastAPI 框架错误处理
15.FastAPI 框架错误处理fastapi 默认的错误处理方式,返回格式是json形式from fastapi import APIRouter, status, Form, File, UploadFile, HTTPExceptionfrom pydantic import BaseModel, EmailStr"""Handling Errors 错误处理"""@app04.get("/http_exception")async def http_exception(city原创 2022-01-03 20:08:03 · 668 阅读 · 0 评论 -
14.FastAPI常见应用配置
14.FastAPI常见应用配置可在主应用下添加说明,描述等等# 在主运行文件下(FastAPI创建时)添加app = FastAPI( title='FastAPI学习DEMO', # 标题 description='项目描述xxxxx', version='1.0.0', docs_url='/docs', redoc_url='/redocs',)...原创 2021-11-28 16:01:37 · 315 阅读 · 0 评论 -
13.FastAPI路径操作配置
13.路径操作配置直接上代码"""Path Operation Configuration 路径操作配置"""@app04.post( "/path_operation_configuration", response_model=UserOut, # tags=["Path", "Operation", "Configuration"], # 标签 tags=['路径操作标签'], # 标签 summary="This is summary", #原创 2021-11-28 15:59:25 · 503 阅读 · 0 评论 -
12.FastAPI静态文件配置
12.静态文件配置在主运行文件下配置(run.py)# 导包from fastapi.staticfiles import StaticFiles# mount表示将某个目录下一个完全独立的应用挂载过来,这个不会在API交互文档中显示, path = '/static'表示静态文件url路径app.mount(path='/static', app=StaticFiles(directory='./coronavirus/static'), name='static') # .moun原创 2021-11-28 15:57:19 · 1715 阅读 · 0 评论 -
11.FastAPI上传文件
上传文件上传小文件(File)"""Request Files 单文件、多文件上传及参数详解"""from fastapi import APIRouter, status, Form, File, UploadFile, HTTPException@app02.post("/file")async def file_(file: bytes = File(...)): # 如果要上传多个文件 files: List[bytes] = File(...) """使用File类 文件原创 2021-11-20 20:13:38 · 2667 阅读 · 5 评论 -
10.FastAPI 的form表单数据处理
form表单数据处理form表单数据用Form类需要pip install python-multipart代码示例""Form Data 表单数据处理"""@app02.post("/login/")async def login(username: str = Form(...), password: str = Form(...)): # 定义表单参数 """用Form类需要pip install python-multipart; Form类的元数据和校验方法类原创 2021-11-20 20:09:44 · 1944 阅读 · 1 评论 -
9.FastAPI响应状态码
响应状态码响应状态码和快捷属性"""Response Status Code 响应状态码"""@app02.post("/status_code", status_code=200)async def status_code(): return {"status_code": 200}@app02.post("/status_attribute", status_code=status.HTTP_200_OK)async def status_attribute():原创 2021-11-20 19:52:36 · 304 阅读 · 0 评论 -
8.FastAPI响应模型示例
响应模型示例响应模型示例这个示例中需要安装几个插件:用 EmailStr 需要 pip install pydantic[email]pip install python-multipartclass UserIn(BaseModel): username: str password: str email: EmailStr mobile: str = "10086" address: str = None full_name: Optiona原创 2021-11-16 21:48:14 · 1103 阅读 · 0 评论 -
7.章节代码(fastapi部分)
章节代码(fastapi部分)from enum import Enumfrom typing import Optional, Listfrom datetime import datefrom fastapi import APIRouter, Path, Query, Cookie, Headerfrom pydantic import BaseModel, Fieldapp01 = APIRouter()"""Path Parameters and Number Validati原创 2021-11-16 21:45:14 · 150 阅读 · 0 评论 -
6.FastAPI设置Cookie和Header参数
设置Cookie和Header参数设置cookie和header(cookie 测试需要在postman上才能测出在交互文档显示null)"""cookie 和 header参数"""@app01.get("/cookie/") # 效果只能用Postman测试def cookie(cookie_id: Optional[str] = Cookie(None)): # 定义Cookie参数需要使用Cookie类,否则就是查询参数 return {"cookie_id": cooki原创 2021-11-16 21:43:30 · 701 阅读 · 0 评论 -
5.请求体、混合参数、嵌套请求体(FastAPI)
请求体、混合参数、嵌套请求体Request Body and Fields请求体和字段class CityInfo(BaseModel): city_name: str = Field(...,example='城市名称') #example是注解的作用,值不会被验证 country_name: Optional[str]=None population : int = Field(default=800,description='城市人口',ge=800) cl原创 2021-11-15 22:03:38 · 691 阅读 · 0 评论 -
4.fastapi的路径参数和查询参数的数据解析、验证
4.fastapi的路径参数和查询参数数据解析、验证1.路径参数(chapte01.py 文件中)from enum import Enumfrom fastapi import APIRouter, Pathapp01 = APIRouter()"""Path Parameters and Number Validations路径参数和数字验证"""@app01.get("/parameters")def path_params01(): return {"messag原创 2021-11-15 21:33:09 · 734 阅读 · 0 评论 -
3.fastapi项目结构拆分
3.fastapi项目结构的拆分项目拆分步骤创建主运行文件run.pyfrom fastapi import FastAPIimport uvicornapp = FastAPI()#uvicorn helloworld :app --reload 在命令窗口运行(包含主运行文件)from tutorial import app01,app02,app03# 注册子路由app.include_router(app01,prefix='/chapter01',tags=['第原创 2021-11-15 21:28:10 · 2364 阅读 · 0 评论 -
2.fastapi基础
2.fastapi基础hellow wordfrom typing import Optionalfrom fastapi import FastAPIfrom pydantic import BaseModelapp = FastAPI()class CityInfo(BaseModel): province: str country: str is_affected: Optional[bool] = None # 与bool的区别是可以不传,默认是nu原创 2021-11-15 21:24:46 · 136 阅读 · 0 评论 -
1.pydantic 库的使用
1.pydantic 库的使用(FastAPI基础入门)pydantic 是啥?pydantic库是一种常用的用于数据接口schema定义与检查的库。主要用于数据验证和规范通过pydantic库,我们可以更为规范地定义和使用数据接口,这对于大型项目的开发将会更为友好。当然,除了pydantic库之外,像是valideer库、marshmallow库、trafaret库以及cerberus库等都可以完成相似的功能,但是相较之下,pydantic库的执行效率会更加优秀一些。使用pydan原创 2021-11-15 21:06:49 · 965 阅读 · 0 评论 -
FastApi的post请求数据完整示例
FastApi的post请求和get请求规范完整示例POST请求模型类from typing import List, Optional, Union, Dictfrom pydantic import BaseModel, Field# 请求数据输入格式class ItemIndurstry(BaseModel): year_: str = Field(title='年份,2014年至2021年')# 返回数据输出格式class ItemIndurstryOut(Bas原创 2021-09-02 13:14:58 · 4996 阅读 · 1 评论