我有一个使用Express的标准REST API,通过Firebase云函数公开。
const api = express()
api.get('/test', (req, res) => res.status(403).json({ "REASON": "UNAUTHORIZED" }))
exports.api = functions.https.onRequest(api)
远程
当我部署它并通过Postman发送GET https://<remote>/api/test
时,我得到了预期的403 { "REASON": "UNAUTHORIZED" }
。
本地
当我运行firebase emulators:start --only functions
在本地提供这些功能并测试它们时,我确实在终端中看到了functions: HTTP trigger initialized at http://localhost:5001/.../api
,但当我通过Postman发送GET http://localhost:5001/.../api/test
时,我得到了200 Not Found
。
我是不是错过了什么?
这确实是Firebase CLI中的一个缺陷,在最新版本(7.13.1(中似乎已经修复
使用npm install -g firebase-tools@latest
安装最新版本
注意:它确实需要我更新到兼容的
firebase-functions
和firebase-admin
版本。