在应用程序服务计划中部署时,内容类型为 application/x-www-form-urlencoded 的 API(FastAPI 和 Azure 函数)端点不起作用

问题描述 投票:0回答:1

我有一个使用快速 api 的 azure 函数。当 api 以无服务器计划部署时,所有端点都可以完美运行。 但是,当它部署在应用程序服务计划中时,登录端点在从前端请求时显示 422(实体未处理),但在从 api 文档“domain/doc”请求时有效。端点接受内容类型

application/x-www-form-urlencoded
。当前端请求时,所有其他端点也可以工作。

这是前端应用程序的源代码

const formData = new URLSearchParams();
  formData.append("username", username);
  formData.append("password", password);
  console.log(formData.toString())
  const response = await fetchClient.post<Token>(
    "/v1/login",
    formData.toString(),
    {
      headers: {
        "Content-Type": "application/x-www-form-urlencoded",
      },
    }
  );
  • 我已确认两个应用程序具有完全相同的配置

问题已通过在每个请求末尾使用 / 得到解决

azure azure-functions fastapi azure-appservice azure-app-service-plans
1个回答
0
投票
  • 我已经通过在每个请求末尾使用 / 解决了这个问题。我不确定原因。
© www.soinside.com 2019 - 2024. All rights reserved.