我已经作出了GET请求到拒绝GET用400错误请求(和“无效请求”)响应的API;并且虽然我可以捕获和处理的响应数据,还有另一种误差线我不能赶上:
GET https://开头API地址/测试400
我的代码如下:
try {
let res = await this.axios.get(API)
console.log(res.data)
} catch (error) {
console.log(error.response.data)
}
我也尝试这是一个承诺链(使用catch) - 但同样的结果,我的想法是在尝试捕捉一切包裹会做的伎俩。
(托管在火力地堡)我API代码如下:
exports.test = functions.https.onRequest((request, response) => {
cors(request, response, () => {
if (request.method !== 'POST') {
return response.status(400).send('Invalid request.')
}
response.status(200).send("Hello from Firebase!");
})
});
第一行是当我发送POST请求,剩下的GET请求后回来:
如何处理这得到错误?在哪里,它来自哪里?
如果我没有理解你的问题,看来你是调用了错误的URL云功能。
你用
https://us-central1-xxxxxx.cloudfunctions.net/helloWorld
如你的问题的第一个版本,
什么时候应该使用
https://us-central1-xxxxxx.cloudfunctions.net/test
因为你的云功能与定义
exports.test = functions.https.onRequest()
您会在这里找到相应的文档:https://firebase.google.com/docs/functions/http-events#invoke_an_http_function
更新您的评论如下:
这是正常的GET显示,因为你有下面的代码中的错误:
if (request.method !== 'POST') {
return response.status(400).send('Invalid request.')
}
由于GET不是POST你,如果进入这个并得到一个400错误...