首頁  >  問答  >  主體

如何在 Nuxt 3 中使用 useQuery() 作為 API 路由參數?

我正在遵循一個指南,其中 api 路由 的建構方式如下:

1 建立server/api/route.js檔案:

export default defineEventHandler((event) => {

    return {
        message: `hello api route`
    }
})

2 在元件中使用 api 路由,如下所示:

<script setup>
const { data: message } = await useFetch('/api/route')
</script>

<template>
  <div>
    <p>api data {{ message }}</p>
  </div>
</template>

這有效,但是當我嘗試在 1. 中新增 查詢參數 時:

export default defineEventHandler((event) => {

    const { name } = useQuery(event)

    return {
        message: `hello api name parameter ${name}`
    }
})

並在元件中呼叫它2.:

<script setup>
const { data: message } = await useFetch('/api/route?name=mario')
</script>

<template>
  <div>
    <p>api data {{ message }}</p>
  </div>
</template>

message 屬性為空。似乎 useQuery(event) 產生一個空變數。知道為什麼這不起作用嗎?

P粉860897943P粉860897943352 天前781

全部回覆(2)我來回復

  • P粉551084295

    P粉5510842952023-11-02 16:54:30

    嘗試使用 getQuery 而不是 useQuery

    export default defineEventHandler((event) => {
      const { name } = getQuery(event);
      return {
          message: `hello api name parameter ${name}`,
      };
    });

    回覆
    0
  • P粉146080556

    P粉1460805562023-11-02 12:27:34

    不再支援

    useQuery(event)。您可以使用getQuery(event)

    getQuery 的 h3 文件

    回覆
    0
  • 取消回覆