Maison  >  Questions et réponses  >  le corps du texte

Comment utiliser useQuery() comme paramètre de route API dans Nuxt 3 ?

Je suis un guide où api 路由 est construit comme ceci :

1 Créer server/api/route.js fichier :

export default defineEventHandler((event) => {

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

2 Utilisez le routage API dans le composant comme suit :

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

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

Cela fonctionne, mais quand j'essaye 1. 中添加 查询参数  : 

export default defineEventHandler((event) => {

    const { name } = useQuery(event)

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

et appelez-le en composant 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) Produit une variable vide. Une idée de pourquoi cela ne fonctionne pas ?

P粉860897943P粉860897943352 Il y a quelques jours782

répondre à tous(2)je répondrai

  • P粉551084295

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

    Essayez d'utiliser getQuery 而不是 useQuery

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

    répondre
    0
  • P粉146080556

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

    N'est plus pris en charge

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

    document h3 pour getQuery

    répondre
    0
  • Annulerrépondre