将 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 示例,请参阅以下资源:
以上是如何将 JSON 数据从 JavaScript 发布到 FastAPI 并避免 422 无法处理的实体错误?的详细内容。更多信息请关注PHP中文网其他相关文章!