所以我想在Netlify上托管一个nuxt网站,那里有一条子路由,谁的子弹是Firebase Firestore文档ID。
示例:
https://www.example.com/users/steve
(其中“ steve”是文档ID)
因此,当路由被点击时,我将需要查询firebase以查看其是否存在,如果不存在,则必须返回404。这是否可能?我可以在.net或php中轻松完成此操作,但是我不确定SPA。
如果可以的话,我应该在文档中寻找什么?
答案 0 :(得分:0)
一种解决方案是实现一个像REST API一样调用的HTTPS Cloud Function,并将HTTP GET请求发送到函数端点。
如文档“用作onRequest()
的参数中所述,Request对象使您可以访问客户端发送的HTTP请求的属性”。
所以您的Cloud Function看起来像:
exports.getUser = functions.https.onRequest((req, res) => {
// get the value of the user by parsing the url
const baseUrl = req.baseUrl;
//Extract the user from baseUrl
const user = ....
//query the Firestore database
admin.firestore().collection('users').doc(user).get()
.then(doc => {
if (doc.exists) {
res.status(200).end();
} else {
res.status(404).end();
}
});
有关云功能的更多信息,请参见get started page和video series。
请注意,您可以connect an HTTP function to Firebase Hosting这样使用,即“您的Firebase托管站点上的请求可以代理到特定的HTTP函数”。