当前位置: 首页 > news >正文

学科建设网站网站seo检测

学科建设网站,网站seo检测,做旅游网站的目的,wordpress 标签消失目录 一. 前言 二. 依赖项#xff08;Dependencies#xff09; 2.1. 依赖注入 2.2. 依赖项的使用 三. 路径操作依赖项的基本使用 3.1. 预处理#xff08;Before#xff09; 3.2. 后处理#xff08;After#xff09; 四. 多个依赖项的组合 五. 异步依赖项 一. 前…目录 一. 前言 二. 依赖项Dependencies 2.1. 依赖注入 2.2. 依赖项的使用 三. 路径操作依赖项的基本使用 3.1. 预处理Before 3.2. 后处理After 四. 多个依赖项的组合 五. 异步依赖项 一. 前言 FastAPI 提供了简单易用但功能强大的依赖注入系统这个依赖系统设计的简单易用可以让开发人员轻松地把组件集成至 FastAPI。 FastAPI 提供了路径操作依赖项Path Operation Dependencies的机制允许你在路由处理函数执行之前或之后运行一些额外的逻辑。 依赖项就是一个函数且可以使用与路径操作函数相同的参数。 路径操作依赖项提供了一种灵活的方式来组织代码、验证输入、进行身份验证等。 接下来我们会具体介绍 FastAPI 路径操作依赖项的相关知识点。 二. 依赖项Dependencies 依赖项是在路由操作函数执行前或后运行的可复用的函数或对象。 它们被用于执行一些通用的逻辑如验证、身份验证、数据库连接等。在 FastAPI 中依赖项通常用于两个方面 预处理Before依赖项 在路由操作函数执行前运行用于预处理输入数据验证请求等。后处理After依赖项 在路由操作函数执行后运行用于执行一些后处理逻辑如日志记录、清理等。 2.1. 依赖注入 依赖注入是将依赖项注入到路由操作函数中的过程。 在 FastAPI 中通过在路由操作函数参数中声明依赖项来实现依赖注入。 FastAPI 将负责解析依赖项的参数并确保在执行路由操作函数之前将其传递给函数。 2.2. 依赖项的使用 定义依赖项 from fastapi import Depends, FastAPIapp FastAPI()# 依赖项函数 def common_parameters(q: str None, skip: int 0, limit: int 100):return {q: q, skip: skip, limit: limit} 在这个例子中common_parameters 是一个依赖项函数用于预处理查询参数。 在路由中使用依赖项 from fastapi import Depends# 路由操作函数 app.get(/items/) async def read_items(commons: dict Depends(common_parameters)):return commons 在这个例子中read_items 路由操作函数中的参数 commons 使用了 Depends(common_parameters)表示 common_parameters 是一个依赖项。FastAPI 将在执行路由操作函数之前运行 common_parameters 函数并将其返回的结果传递给 read_items 函数。 三. 路径操作依赖项的基本使用 3.1. 预处理Before 以下实例中common_parameters 是一个依赖项函数它接受查询参数 q、skip 和 limit并返回一个包含这些参数的字典。 在路由操作函数 read_items 中通过传入 Depends(common_parameters)我们使用了这个依赖项函数实现了在路由执行前预处理输入数据的功能。 from fastapi import Depends, FastAPI, HTTPExceptionapp FastAPI()# 依赖项函数 def common_parameters(q: str None, skip: int 0, limit: int 100):return {q: q, skip: skip, limit: limit}# 路由操作函数 app.get(/items/) async def read_items(commons: dict Depends(common_parameters)):return commons 3.2. 后处理After 以下例子中after_request 是一个后处理函数用于在路由执行后执行一些逻辑。 在路由操作函数 read_items_after 中通过传入 Depends(after_request)我们使用了这个后处理依赖项实现了在路由执行后进行额外操作的功能。 from fastapi import Depends, FastAPI, HTTPExceptionapp FastAPI()# 依赖项函数 def common_parameters(q: str None, skip: int 0, limit: int 100):return {q: q, skip: skip, limit: limit}# 路由操作函数 app.get(/items/) async def read_items(commons: dict Depends(common_parameters)):return commons# 后处理函数 async def after_request():# 这里可以执行一些后处理逻辑比如记录日志pass# 后处理依赖项 app.get(/items/, response_modeldict) async def read_items_after(request: dict Depends(after_request)):return {message: Items returned successfully} 四. 多个依赖项的组合 以下例子中common_parameters 和 verify_token 是两个不同的依赖项函数verify_token 依赖于 common_parameters这种组合依赖项的方式允许我们在路由执行前先验证一些参数然后在进行身份验证。 from fastapi import Depends, FastAPI, HTTPExceptionapp FastAPI()# 依赖项函数1 def common_parameters(q: str None, skip: int 0, limit: int 100):return {q: q, skip: skip, limit: limit}# 依赖项函数2 def verify_token(token: str Depends(common_parameters)):if token is None:raise HTTPException(status_code400, detailToken required)return token# 路由操作函数 app.get(/items/) async def read_items(token: dict Depends(verify_token)):return token 五. 异步依赖项 依赖项函数和后处理函数可以是异步的允许在它们内部执行异步操作。 以下例子中get_token 是一个异步的依赖项函数模拟了一个异步操作。 在路由操作函数 read_items 中我们使用了这个异步依赖项函数。 from fastapi import Depends, FastAPI, HTTPException from typing import Optional import asyncioapp FastAPI()# 异步依赖项函数 async def get_token():# 模拟异步操作await asyncio.sleep(2)return fake-token# 异步路由操作函数 app.get(/items/) async def read_items(token: Optional[str] Depends(get_token)):return {token: token} 通过使用路径操作依赖项你可以在路由执行前或后执行额外的逻辑从而实现更灵活、可组合的代码组织方式。
http://www.hkea.cn/news/14555844/

相关文章:

  • 南靖网站建设西咸新区建设环保网站
  • 公司网站百度推广wordpress栏目id
  • 国外网站建设费用如何免费制作一个自己的网站
  • 做搜狗网站优化首页软商务网站建设项目的技术可行性
  • 百度网站域名注册有域名有服务器怎么做网站
  • 链接网站怎么做西安小程序建设公司
  • 搭建网站服务器网站平台建设
  • 佛山市南海区交通建设网站贵州省新闻联播
  • 佛山网站推广建设郑州网站建设 华数
  • 外贸网站建设排名网站更新提醒
  • 做微网站哪家好设一个网站链接为安全怎么做
  • 常州网站建设培训cdn资源访问出现问题怎么办
  • 网站首页模板怎么做策划外贸网站制作价格表
  • 做网站没装数据库上海闵行网站建设公司
  • 网站做得好的公司丽水做网站
  • 注销备案号 网站wordpress同步谷歌博客
  • 免费网站建设apk免费模式营销案例
  • 建站模板外贸asp网站目录权限
  • 网站缩略图制作公司产品展示网站源码
  • 网站文件命名规则接外包网站
  • 电商网站设计论文张家港市建设局网站
  • 做挂件的网站wordpress 域名访问还是临时域名
  • 没有公司做网站犯法吗邢台最新消息
  • 做推广便宜的网站wordpress js 插件
  • 网站开发与运行环境程序ui设计
  • 四川鸿业建设集团公司网站抖音代运营正规公司
  • seo优化能提高网站的流量吗长沙企业建网站
  • 青岛做公司网站的多吗wordpress 头像 virtos
  • 广州商城网站建设移动门网站建设
  • 合肥公司建设网站首页360免费建站永久免费