Nuxt 3 无法在 API GET 函数上检索动态参数

问题描述 投票:0回答:0

我需要你在 Nuxt 3 方面的帮助。我和 Nuxt 一起工作几年了,我刚开始使用 Nuxt 3,但我不明白。 Nuxt 3.4.2 与 Firebase 9.21.0 (Vue 3.2) 我遵循了 firebase 说明,所以我这样设置了我的应用程序,但我无法将参数传递给我的函数 =>

./lib/firebase.js =>

const app = initializeApp(firebaseConfig);
export const firestoreDb = getFirestore(app);

./server/api/getProduct.js

import { firestoreDb } from "../../lib/firebase";
import { getDocs, collection, doc, getDoc } from 'firebase/firestore'

export default defineEventHandler(async (event) => {
    try {
     const docRef = doc(firestoreDb, "cities", ???**param** ???);
     const docSnap = await getDoc(docRef);     
      return docSnap.data();
    } catch(error) {
      return error
   }
})

./pages/[id].vue

export default {
  async setup() {
    const product = await useFetch(`/api/getProduct`, { params: { city: 'Paris'} });
  }
}

但我不明白如何取回我的参数(route.params.id) 有些事情我不明白,因为当我尝试从“../../lib/firebase”导入{firestoreDb}时;从插件或商店,我收到一个 nuxt 错误,告诉我我不能在服务器文件之外调用那些库。 我需要一些启发或文档链接来了解如何使用参数从页面到服务器进行 GET 调用。

我尝试使用参数进行 GET 调用,但我不知道如何从路由中检索我的参数,也不知道调用我的数据库的任何解决方案。 我可以在 event.context.originalUrl: '/api/getProduct?cyty=Paris' 中看到,但我觉得从那里获取它是不对的。 我尝试 readBody(event) 但我收到“错误:(不允许使用 405 HTTP 方法。(/api/getProduct?city=Paris

感谢您的帮助。

firebase vue.js google-cloud-firestore nuxt.js
© www.soinside.com 2019 - 2024. All rights reserved.