我将其中一个Express应用程序迁移到了Firebase功能。除了具有表单主体的DELETE请求之外,其他所有内容都可以正常运行。当我直接在此url上访问函数
https://us-central1-[appname].cloudfunctions.net/app/api/hidden
并发送带有表单主体的删除请求,一切正常。但是当我尝试这个网址
应该具有相同的行为,由于请求的内容为空,因此我使我的应用程序崩溃。由于某些原因,我无法在第二个URL上发送带有正文的DELETE请求。有人遇到这个问题吗?
我的fireabse.json看起来像这样
{
"hosting": {
"rewrites":[{
"source": "**",
"function": "app"
}]
//other rules
}
}
答案 0 :(得分:0)
我通过电子邮件发送了Firebase支持,他们回答了。基本上,firebase应用程序不支持删除请求。引用:
...将Cloud Functions与Hosting连接旨在提供动态内容,在您当前的实现中,我建议仅将Cloud Functions URL用于删除请求(以保留其他类型请求的缓存优势)。另一个选择是不使用正文中的有效载荷,因为HTTP 1.1规范警告使用它“在DELETE请求上发送有效载荷正文可能会导致某些现有的实现拒绝该请求”。