Я следую руководству, в котором api routes
построены так:
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>
Это работает, но когда я пытаюсь добавить query parameter
в 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)
создает пустую переменную. Любая идея, почему это не работает?
Попробуйте getQuery
вместо useQuery
export default defineEventHandler((event) => {
const { name } = getQuery(event);
return {
message: `hello api name parameter ${name}`,
};
});
useQuery(event)
больше не поддерживается. Вы можете использовать getQuery(event)