首页
学习
活动
专区
圈层
工具
发布

(进阶篇)Python web框架FastAPI——一个比Flask和Tornada更高性能的API 框架

前言 上一篇已经初步了解了 FastAPI 的基本使用,但是如果想要真正把 FastAPI 部署上线到服务器,那么你需要了解更多,学习更多。...蓝图 事实上,FastAPI 并没有关于蓝图 (Blueprint) 的定义,在 FastAPI 中使用 Include_route 方法来添加路由,也就是我们所熟知的蓝图了。...return "添加成功" return "缺少参数" 删 async def articleDetailDel(*,request: Request,db: Session = Depends...return "删除成功" return "缺少参数" 改 async def articleDetailUpdate(*,request: Request,db: Session = Depends...return "更新成功" return "缺少参数" 查 async def articleDetailIndex(*,request: Request,db: Session = Depends

3K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    FastAPI后台开发基础(3):查询参数

    什么是查询参数 查询参数的特点 位置: 查询参数位于 URL 的查询字符串部分,通常以 ? 开始,多个参数用 & 分隔。例如:/items?...如果客户端未提供某个查询参数,FastAPI 会将其视为 None,并可以在处理请求时进行相应的逻辑处理 类型: FastAPI 支持多种数据类型的查询参数,包括字符串、整数、布尔值等。...如果客户端未提供该参数,FastAPI 会使用默认值 文档生成: FastAPI 会自动生成 OpenAPI 文档,查询参数会在文档中清晰地列出,方便用户了解可用的参数及其类型 查询参数的使用 基本查询参数...,处理条件逻辑以返回不同的响应 图片 必需的查询参数与可选查询参数 from __future__ import annotations from fastapi import FastAPI from...optional_param=qqqq 返回错误,提示 needy 参数是必需的 描述: 该路由展示了如何处理必需的查询参数和可选的查询参数,确保必需参数的存在 在查询参数的值中,如果包含特殊字符(如

    60932

    FastAPI学习-5.Path路径参数和数值校验

    results = {"item_id": item_id} if q: results.update({"q": q}) return results 路径参数总是必需的...所以,你应该在声明时使用 … 将其标记为必需参数。 然而,即使你使用 None 声明路径参数或设置一个其他默认值也不会有任何影响,它依然会是必需参数。...按需对参数排序 设你想要声明一个必需的 str 类型查询参数 q。而且你不需要为该参数声明任何其他内容,所以实际上你并不需要使用 Query。...因此,你可以将函数声明为: from fastapi import FastAPI, Path app = FastAPI() @app.get("/items/{item_id}") async...而且它们都共享相同的所有你已看到并用于添加额外校验和元数据的参数。 当你从 fastapi 导入 Query、Path 和其他同类对象时,它们实际上是函数。当被调用时,它们返回同名类的实例。

    74830

    一文搞定 FastAPI 查询参数

    二、查询参数作用 方便给 路径操作函数 传参 三、查询参数基本使用 3.1. URL拼接和必需参数 查询参数,一般是在 URL 的 ?..." ,reload=True ,port= 8001) 此时 item_id 和 item_name 都是必需的,URL必须传这两个参数。...默认值 查询参数可以设置默认值,如:item_name 默认值为 xiaoming from fastapi import FastAPI app = FastAPI() @app.get( "/items...可选参数 查询参数可以设置为可选参数,如 item_name=None 可选参数的意思:URL中可以不包含这个参数,属于可有可无 from fastapi import FastAPI app = FastAPI...: {'item_id': 1, 'item': {'name': 'flow', 'price': 2.3}} 三、总结 本文详细介绍了查询参数在FastAPI中的基本使用方法,包括URL拼接和必需参数

    27300

    FastAPI学习-4.get 请求 query params 参数校验

    前言 get请求在接收参数的时候,需校验用户传过来的参数是否合法 查询参数和字符串校验 FastAPI 允许你为参数声明额外的信息和校验。...,并将它的 max_length 参数设置为 50: from typing import Optional from fastapi import FastAPI, Query app = FastAPI...当我们不需要声明额外的校验或元数据时,只需不声明默认值就可以使 q 参数成为必需参数,例如:q: str代替:q: str = None 但是现在我们正在用 Query 声明它,例如: q: str...= Query(None, min_length=3) 因此,当你在使用 Query 且需要声明一个值是必需的时,可以将 … 用作第一个参数值: from fastapi import FastAPI,...这种用法:它是一个特殊的单独值,它是 Python 的一部分并且被称为「省略号」.这将使 FastAPI 知道此查询参数是必需的。

    1.7K20

    FastAPI(30)- Classes as Dependencies 类依赖注入

    依赖项函数返回 dict 上一篇依赖注入文章中讲的依赖项函数返回值类型是 dict #!...import Depends, FastAPI import uvicorn app = FastAPI() # 1、编写依赖项 async def common_parameters(q:...中的 Callable 教程 面向对象 __call__() 教程 看看 Depends() 的源码 第一个参数依赖项类型是 Callable,必须是可调用对象 类作为依赖项 类是可调用对象吗?...__() 的参数列表来传参 请求数据将会传递到类的初始化方法中( __init__ ) commons 参数接收的值类型就是 CommonQueryParams 正确传参的请求结果 查看 Swagger..._ 方法有参数的类型是 Dict、List 的栗子 from typing import List, Dict, Any, Optional from fastapi import Depends from

    79130

    FastAPI如何优雅的连接数据库?

    这是《小白学FastAPI》系列的第四篇文章。 在前面一篇文章中,我们有去写一个简单的博客框架,对它的路径、查询参数及路径参数函数等进行了学习。...其中的参数就是我们数据库的连接url,fastapi支持的数据库非常的多。...这里提醒一下,如果我们使用的是sqlite数据库,我们需要在create_engine的参数中新增connect_args={"check_same_thread": False} 下面也是官网给出的支持的数据库...models.py 既然数据库相关的配置都弄好了,接下来我们编写一个模型。 其实这个模型在我们上一篇文章中就已经编写过了。...main.py 其实main.py跟我们上一篇文章的中的main.py差不多,只是多了几行代码: from fastapi import FastAPI from .database import engine

    6.7K21
    领券