I have a Nuxt 3 pulling from Craft CMS's GraphQL API via useFetch and $fetch. It's working well, but it doesn't handle GraphQL errors. How do I make Nuxt show them to me?
The following works great and returns data.
server/api/craft.js
export default defineEventHandler(async (event) => {
const body = await readBody(event);
const baseUrl = useRuntimeConfig().craftApiUrl;
const { data } = await $fetch(baseUrl, {
method: 'post',
headers: {
'Content-Type': 'application/json',
},
body: body.gql,
});
return data;
});
index.vue
<template>
<div>
Pending: {{ pending }} <br /><br />
Error: {{ error }} <br /><br />
Data:
<pre>{{ data }}</pre>
</div>
</template>
<script setup>
const { data, pending, error } = await useFetch('/api/craft', {
method: 'post',
body: {
gql: JSON.stringify({
query: `query SomeQuery {
entry(section: "homepage") {
id
title
}
}`,
variables: {},
}),
},
});
</script>