无法使用 FastAPI 访问或打印任何请求数据

2023-12-14

我有一个简单的 FastAPI 端点,我想在其中接收字符串值。在本例中,我尝试使用 JSON 正文,但基本上不需要是 JSON。我真的只需要一个简单的字符串来将请求彼此分开。不幸的是,我无法使用以下命令访问任何请求参数GET方法。我也尝试过POST方法,但我收到错误:

request:

url = "http://127.0.0.1:5000/ping/"

payload=json.dumps({"key":"test"})
headers = {
"Content-Type": "application/json"
            }
response = requests.request("POST", url, headers=headers, json=payload)

print(response.text)

api:

@app.get("/ping/{key}")
async def get_trigger(key: Request):

    key = key.json()
    test = json.loads(key)
    print(test)
    test2 = await key.json()
    print(key)
    print(test2)


    return 

我无法打印任何内容post or put:

@app.post("/ping/{key}")
async def get_trigger(key: Request):
...
   or

@app.put("/ping/{key}")
async def get_trigger(key: Request):

I get a 405 Method not allowed error.

我怎样才能解决这个问题?


The 405 Method Not Allowed状态码表明“服务器知道请求方法,但目标资源不支持该方法"。例如,当您尝试发送电子邮件时,您会收到此错误POST请求给一个GET路线(如第一个示例所示)。然而,这并不是代码(在客户端和服务器端)的唯一问题。下面给出了一个示例,说明如何使用以下方法实现您在问题中所描述的内容Path参数。使用同样的方法也可以实现Query参数, 也Request Body。请看一下Python 请求文档关于如何为每种情况指定参数/主体。我也强烈建议采取FastAPI教程在线——您可以在那里找到您正在寻找的大部分答案。

app.py

from fastapi import FastAPI

app = FastAPI()

@app.get("/ping/{ping_id}")
async def get_trigger(ping_id: str):
    return {"ping_id": ping_id}

test.py

import requests

url = 'http://127.0.0.1:8000/ping/test1'
resp = requests.get(url=url) 
print(resp.json())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法使用 FastAPI 访问或打印任何请求数据 的相关文章

随机推荐

  • 根据文件名中的日期创建批处理文件并移动文件

    我有大量的 Excel 文件 其文件名都以时间戳结尾 如下所示 示例文件 2018 08 24 110222 xlsx 我想根据时间戳的月份和年份移动所有这些文件 但我希望文件夹名称为上个月 因此 对于上面的示例 我想创建一个名为 July
  • django.db.migrations.exceptions.InconsistencyMigrationHistory

    当我跑步时python manage py migrate在我的 Django 项目中 我收到以下错误 Traceback most recent call last File manage py line 22 in
  • Matlab GUI 自动化?

    假设有人使用 GUIDE 制作了一个 Matlab GUI 现在我想在编程环境中使用该代码 这不是人在循环中 对我来说 编写 人类与 GUI 交互的最简单方法是什么 以便以适当的顺序操纵各种控件 使工具处理我的数字并获得其结果 我正在寻找一
  • 将击键发送到另一个应用程序 C#

    我需要自动化文件监控程序使用过滤器启动 保存它生成的日志 然后退出 我的解决方案是编写一个辅助应用程序来完成所有这些工作 它可以使用指定的过滤器启动并终止进程 但我仍然需要它来保存日志 您认为发送应用程序击键来保存日志会很愚蠢吗 例如 我会
  • ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

    大家好 今天我为 ASP NET 网站添加了 SSL 证书 添加证书后 我收到 ERR HTTP2 INADEQUATE TRANSPORT SECURITY 错误 如果我使用 http 访问网站 它可以工作 但 https 会给出错误 在
  • java.lang.ClassNotFoundException:com.mysql.jdbc.Driver(maven + jboss)

    Maven pom xml
  • 字符串值到字节数组而不进行转换

    我试图将字符串的值放入字节数组中而不更改字符 这是因为字符串实际上是数据的字节表示 目标是将输入字符串移动到字节数组中 然后使用以下方法转换字节数组 string result System Text Encoding UTF8 GetSt
  • 方法重载是否被视为多态? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 方法重载是否被视为多态性的一部分 多态性有不同类型 重载多态性 也称为临时多态性 压倒一切的多态性 所以是的 它是多态性的一部分
  • 使用 Java 对 LPT 端口进行编程。真的吗?

    状况 OS is Windows XP have LPT port LED 灯泡连接到LPT port 必要的 使用Java使灯泡闪烁 是否可以 对真实 经过验证的解决方案感兴趣 有人这样做过吗 我有几个选择 使用javax comm an
  • Android 无法在外部存储上创建文件

    我想创建一个 txt 文件并将其存储在 Android 手机的外部存储中 我将权限添加到我的 Android 清单中 当我运行代码时 它不会给我任何错误 但文件从未创建 不确定我做错了什么 public void createExterna
  • Rails 3 路由约束和正则表达式

    我正在寻找匹配的模式state city在路径中 除非状态变量等于 auth match state city gt cities index as gt state cities constraints gt state gt auth
  • GCC 的 -Wmaybe-uninitialized 是否会针对基于枚举的 switch 语句使用 -O1 生成虚假警告?

    我有一段以下形式的代码 typedef enum A 1 B EnumType int foo EnumType x int r switch x case A r 1 break case B r 2 break default r 1
  • JDBC总是测试MySQL表的最后一行?

    我有一个 Manager 类 它将数据保存在 SQL 表中 并从 SQL 表中获取结果并测试这些数据 当我运行程序时 将显示一个框架 用于获取 ID 和密码 如果它们正确 则另一个框架将显示但我不知道为什么它只测试 SQL 表的最后一行 我
  • 当我删除标记所在的行时让vim保留标记

    当我删除标记所在的行时 如何让 vim 保留标记 即自动将标记移动到标记行的上方或下方的行 也许最简单的方法是当您不想删除它们时使用大写字母标记 如果标记所在的行被删除 它将移至下一行 另一种选择是lockmarks命令 lockmarks
  • python中同一类的实例之间共享变量

    我有一个我需要的课程 第一个实例必须接收一个参数 以下所有实例的此参数都是可选的 如果没有通过那么我将使用之前对象init的参数 为此 我需要在对象之间共享一个变量 所有对象都属于具有相同父级的类 例如 class MyClass shar
  • 如何在 open gl 纹理的 alpha 中编码发射或镜面反射信息

    我有一个带有 UV 贴图的 OpenGL 纹理 我读过有关使用 alpha 通道来存储其他一些值的信息 这样就无需从某处加载额外的地图 例如 您可以在 Alpha 中存储镜面反射信息 光泽度 或发射贴图 因为您只需要一个浮点数 并且不使用
  • PHP函数的范围[重复]

    这个问题在这里已经有答案了 我有一个文件 将我的可重用函数集中到一个文件中 functions php It s include once 在每个需要它的页面上 当我的自定义函数尝试访问其自身范围之外的 MySQL 连接时 我收到错误 来源
  • 带有函数应用的类型化抽象语法树

    我正在尝试编写一个可以表示的类型化抽象语法树数据类型 功能应用 到目前为止我已经 type Expr lt a gt Constant of a Application of Expr lt b gt a gt Expr lt b gt e
  • Appcompat actionbar v21 应用程序图标未显示

    出于材料设计目的 我升级到了 avtionbar app compat v21 但我观察到 与旧的应用程序兼容库相比 它在操作栏中不显示应用程序图标 导航菜单和后退按钮占用了更多空间 有人遇到过这个问题吗 我搜索了很多 但没有发现任何有用的
  • 无法使用 FastAPI 访问或打印任何请求数据

    我有一个简单的 FastAPI 端点 我想在其中接收字符串值 在本例中 我尝试使用 JSON 正文 但基本上不需要是 JSON 我真的只需要一个简单的字符串来将请求彼此分开 不幸的是 我无法使用以下命令访问任何请求参数GET方法 我也尝试过