我试图用以下代码使用useFetch访问API端点:
<script setup>
const token = "bearerToken000";
const options = {
method: 'GET',
headers: {
Authorization: `Bearer ${token}`
},
}
const { data: menus } = await useFetch('http://localhost:3001/api/stores/62989e35f5a66308effb63b5/vendables/menus', options)
</script>
这可以很好地检索我的数据,但是我的API端点也接受具有以下对象的主体:
{
"projection": ["title","description"]
}
可以在其中指定数据库查询的筛选器。与邮递员合作很好,但是
const options = {
method: 'GET',
headers: {
Authorization: `Bearer ${token}`
},
body: {
"projection": ["title","description"]
}
}
在我的端点中的结果永远无法到达,并且返回的数据为null。
有人能向我解释为什么以及如何使用nuxt 3 useFetch或不同的方式发送GET请求吗?
发布于 2022-10-31 13:37:03
如果要发送JSON主体,通常需要发送POST
请求而不是GET
。据我所知,您的代码似乎没有问题。
所以你试过:
const options = {
method: 'POST',
headers: {
Authorization: `Bearer ${token}`
},
body: {
"projection": ["title","description"]
}
}
编辑
我检查了nuxt3用于请求的ohmyfetch源代码。只有当请求是有效负载方法'PATCH', 'POST', 'PUT', 'DELETE'
时,它才会将主体附加到请求。所以身体被忽略了,因为你使用的是GET
。https://github.com/unjs/ohmyfetch/blob/f86917748e26d8e01e6c39c1e93ba4decf975972/src/fetch.ts#L112
https://stackoverflow.com/questions/74263774
复制相似问题