fastapi相关内容
我有一个关于PyDrive的愚蠢问题。 我尝试使用FastAPI制作一个REST API,它将使用PyDrive将图像上传到Google Drive。以下是我的代码: from fastapi import FastAPI, File from starlette.requests import Request from starlette.responses import JSONResp
..
我是使用Fastapi的新手。我在码头容器内有一个main.py。当我使用 连接到fast api时 uvicorn main:app —-reload 从我的容器中,系统提示我连接到http://127.0.0.1:8000。将地址复制到Firefox时,我收到错误: unable to connect. 如何连接到fast api服务器? 另外,我正在工作的GIT
..
我在单独的文件中定义了一个WebSocket端点,如下所示: from starlette.endpoints import WebSocketEndpoint from connection_service import ConnectionService class WSEndpoint(WebSocketEndpoint): """Handles Websocket con
..
我想在支持部分更新的FastAPI中实现PUT或补丁请求。The official documentation确实令人困惑,我不知道如何处理该请求。(我不知道items在文档中,因为我的数据将与请求的正文一起传递,而不是硬编码的字典)。 class QuestionSchema(BaseModel): title: str = Field(..., min_length=3, max
..
我正在尝试使用SSL运行Fastapi应用程序。 我正在使用uvicorn运行应用程序。 我可以使用HTTP在端口80上运行服务器, if __name__ == '__main__': uvicorn.run("main:app", port=80, host='0.0.0.0', reload = True, reload_dirs = ["html_files"])
..
我正在使用uvicorn和python子进程.POpen运行许多FastAPI实例。我有一个用PySimpleGUI制作的小图形用户界面,我想用它来随意关闭和重新启动服务器。 我遇到的第一个问题是,至少在Windows中,启动uvicorn服务器似乎创建的不是一个而是两个新进程,而调用Popen.terminate()仅关闭其中一个进程,这不会释放与服务器关联的端口。我使用psutil包修复了这
..
我正在使用FastAPI构建一个REST API,我真的很喜欢这个工具,特别是它与Pydatics和OpenAPI的集成。 例如,我可以将端点采用的模型编写为 class Model(BaseModel): field1: str = Field(default=...) field2: int = Field(default=...) field3: List
..
我的代码类似于使用Fast API: class EnumTestT(Enum): test_t_value = 0 object = { test: test_t_value } enum_mapping = { test_t_value: "Test" } def enum_encoder(val: EnumTestT) -> str: retur
..
使用SQLModel如何获取alembic以识别以下型号? from sqlmodel import Field, SQLModel class Hero(SQLModel, table=True): id: int = Field(default=None, primary_key=True) name: str secret_name: str age:
..
我最近了解了fast API,并阅读了教程和其他文档。尽管FastAPI有很好的文档记录,但我找不到有关在使用数据库时如何处理嵌套输入的信息。 为了测试,我编写了一个非常小的家族API,有两个模型: class Member(Base): __tablename__ = 'members' id = Column(Integer, primary_key=True,
..
我在@app.websocket中使用FastAPI来侦听传入的WebSocket。FastAPI(或其下的Starlette或Uvicorn)是如何实现ping/pong心跳的?这是否可配置?我在文档中根本找不到它。 from fastapi import FastAPI, WebSocket app = FastAPI() @app.websocket("/") def ws(web
..
我有一个Fastapi应用程序,我想记录对它的每个请求。我正在尝试使用loguru和uvicorn来执行此操作,但我不知道如何打印与每个请求相关联的标头和请求参数(如果有)。 我想要这样的东西: INFO 2020-08-13 13:36:33.494 uvicorn.protocols.http.h11_impl:send - 127.0.0.1:52660 - "GET /url
..
FastAPI提供way通过其自身的依赖项解析机制管理依赖项,如数据库连接。 它类似于pytest夹具系统。 简而言之,您在函数签名中声明了所需的内容,FastAPI将调用您提到的函数(或类),并在调用处理程序时注入正确的结果。 是的,它确实进行缓存(在单个处理程序运行期间),但我们不能只使用@lru_cache修饰器并在每次运行时简单地调用这些依赖项来实现相同的功能吗? 我错过了什么吗?
..
我正在尝试将类中的一个字段限制为枚举。然而,当我尝试从类中获取词典时,它不会被转换为字符串。相反,它保留枚举。我检查了pydantic documentation,但找不到与我的问题相关的任何内容。 此代码代表我实际需要的内容。 from enum import Enum from pydantic import BaseModel class S(str, Enum): a
..
FastAPI使用Depends()注入返回或产生的变量。例如,FastAPI/SQL: # Dependency def get_db(): db = SessionLocal() try: yield db finally: db.close() ... def create_user(db: Session = Depends(g
..
如何使用FastAPI将端点访问限制为只能访问特定IP? 推荐答案 提供TrustedHostMiddlewareThat: 强制所有传入请求都具有正确设置的主机标头, 以防范HTTP主机标头攻击。 from fastapi import FastAPI from fastapi.middleware.trustedhost import TrustedHostMiddle
..
我正在尝试在Fastapi中间件中验证令牌,但这似乎是不可能的。正如我所想的那样,中间件需要进行下一次调用,尽管这不是必需的。我找不到任何好的解决方案来在这个python-fast api后端一次性处理令牌。如有任何帮助,我们不胜感激。 @app.middleware("http") async def add_middleware_here(request: Request, call_n
..
所以我需要在类中有一些路由,但是路由方法需要有selfattr(以访问类的属性)。 但是,FastAPI随后假定self是它自己的必需参数,并将其作为查询参数放入 这是我得到的: app = FastAPI() class Foo: def __init__(y: int): self.x = y @app.get("/somewhere")
..
我是一个非常新的蟒蛇和Fastapi。 我正在尝试在全球级别捕获未处理的异常。因此,我在main.py文件中的某个位置写下了以下内容: @app.exception_handler(Exception) async def exception_callback(request: Request, exc: Exception): logger.error(exc.detail) 但上
..
from fastapi import Depends, FastAPI, HTTPException, Body, Request from sqlalchemy import create_engine, Boolean, Column, ForeignKey, Integer, String from sqlalchemy.ext.declarative import declarative
..