首页 > 其他分享 >[FastAPI-33]依赖注入-路径装饰器-全局

[FastAPI-33]依赖注入-路径装饰器-全局

时间:2023-03-26 21:12:05浏览次数:41  
标签:get 33 FastAPI app item token 全局 def

1. 路径装饰器

from fastapi import FastAPI, Header, HTTPException, Depends,status

app = FastAPI()

def verify_token(x_token: str = Header()):
    if x_token != "fake-super-secret-token":
        raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="X-Token header invalid")
    # return x_token


@app.get("/items/", dependencies=[Depends(verify_token)])
def get_items():
    return [{"item": "Foo"}, {"item": "Bar"}]

2. 全局

from fastapi import Depends, FastAPI, Header, HTTPException


def verify_token(x_token: str = Header()):
    if x_token != "fake-super-secret-token":
        raise HTTPException(status_code=400, detail="X-Token header invalid")


app = FastAPI(dependencies=[Depends(verify_token)])


@app.get("/items/")
def get_items():
    return [{"item": "Portal Gun"}, {"item": "Plumbus"}]


@app.get("/users/")
def get_users():
    return [{"username": "Rick"}, {"username": "Morty"}]

标签:get,33,FastAPI,app,item,token,全局,def
From: https://www.cnblogs.com/leoshi/p/17259556.html

相关文章

  • [FastAPI-32]依赖注入缓存
    fromfastapiimportDepends,FastAPIapp=FastAPI()'''依赖注入缓存现象-依赖条件`get_num`被依赖了两次,但是你会发现其内部打印语句只打印了一次。也就是说,第......
  • [FastAPI-31]嵌套注入
    fromtypingimportUnionfromfastapiimportDepends,FastAPIapp=FastAPI()'''嵌套注入-路径函数get_name需要的形参`username_or_nickname`有依赖条件,所以F......
  • [FastAPI=30]依赖注入
    fromfastapiimportFastAPI,Dependsapp=FastAPI(title="依赖注入")'''依赖注入-共享一块相同逻辑的代码块-共享数据库连接-权限认证,登录状态认证'''BOO......
  • [FastAPI-29]用户注册API-File字段需要在 Form之前
    importtypingfromfastapiimportFastAPI,Form,File,UploadFilefrompydanticimportBaseModelapp=FastAPI(title="注册接口")'''1.需要输入账号密码头......
  • [FastAPI-28]上传多个文件
    importtypingfromfastapiimportFastAPI,File,UploadFileapp=FastAPI(title="Form表单")'''上传多个文件'''@app.post("/files",summary="通过内存缓存上......
  • [FastAPI-27]上传文件为可选项
    importtypingfromfastapiimportFastAPI,File,UploadFileapp=FastAPI(title="Form表单")'''上传文件为可选项'''@app.post("/upload_large_file",summa......
  • 6357.使数组元素全部相等的最少操作次数-338
    使数组元素全部相等的最小操作次数给你一个正整数数组 nums 。同时给你一个长度为m 的整数数组 queries 。第i 个查询中,你需要将nums 中所有元素变成 queries......
  • 6356.收集树中金币-338
    收集树中金币给你一个n 个节点的无向无根树,节点编号从 0 到 n-1 。给你整数 n 和一个长度为n-1 的二维整数数组edges ,其中 edges[i]=[ai,bi] 表示树......
  • 多线程操作共享资源(如全局变量)原理
    CPU对变量的计算分为三个步骤:1.从内存读取变量到寄存器(如add寄存器)2.将读取到的变量进行计算3.将寄存器中计算的值写入内存 如有两个线程(线程1和线程......
  • vue.js客服系统实时聊天项目开发(一)路由与子路由-全局变量-elementui搭建基本框架
    Vue应用程序设置一些基本配置,包括使用依赖项,设置路由,挂载组件等。这样就可以使用Vue框架开发应用程序了先来看看我的客服系统项目的package.json{"name":"VueLiveChat",......