所以我想在Netlify上托管一个nuxt网站,那里有一条子路由,谁的子弹是Firebase Firestore文档ID。
示例:
https://www.example.com/users/steve
((“ steve”是文档ID)
因此,当路由被点击时,我将需要查询firebase以查看其是否存在,如果不存在,则必须返回404。这是否可能?我可以在.net或php中轻松完成此操作,但是我不确定SPA。
如果可以的话,我应该在文档中寻找什么?
一种解决方案是实现一个HTTPS Cloud Function,就像REST API一样调用,向功能端点发送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函数”。