首页  >  文章  >  后端开发  >  如何将 JSON 数据从 JavaScript 发布到 FastAPI 并避免 422 无法处理的实体错误?

如何将 JSON 数据从 JavaScript 发布到 FastAPI 并避免 422 无法处理的实体错误?

DDD
DDD原创
2024-11-10 21:49:021043浏览

How to Post JSON Data from JavaScript to FastAPI and Avoid a 422 Unprocessable Entity Error?

将 JSON 数据从 JavaScript 发布到 FastAPI

在此场景中,目标是从输入表单传递一个名为“ethAddress”的值在客户端上连接到 FastAPI 以用于图表生成。但是,会出现 422 Unprocessable Entity 错误。对问题的分析表明,问题在于 FastAPI 将“ethAddress”解释为查询参数的方式,期望它成为 URL 的一部分。

要解决此问题,您有多种选择,具体取决于您的具体情况要求:

选项 1:创建 Pydantic 模型

定义 Pydantic 模型来处理您期望从客户端接收的数据结构。在本例中,创建一个具有单个“eth_addr”字段的 Item 类。

选项 2:使用 Body 类型

或者,使用 FastAPI Body 类型来表示该参数将从请求的正文中解释。

选项 3:嵌入正文参数

如果您只有一个正文参数,则可以简化通过在 Body 类型中使用 embed=True 参数进一步修改代码,这允许 FastAPI 直接从嵌入的 body 解析 JSON 数据。

从 JavaScript 发送 JSON 数据

调整后端后,您可以配置 JavaScript 客户端以相应地发送 JSON 数据。确保设置适当的标头(例如“Content-Type”:“application/json”)并使用 JSON.stringify 准备数据,然后再通过 fetch 发送数据。

其他资源

有关发布 JSON 数据的更详细指南和 JavaScript 示例,请参阅以下资源:

  • https://fastapi.tiangolo.com/tutorial/body/
  • https://stackoverflow.com/questions/64357060
  • https://stackoverflow.com/questions/64762081
  • https://stackoverflow.com/questions/64266617

以上是如何将 JSON 数据从 JavaScript 发布到 FastAPI 并避免 422 无法处理的实体错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn