Usage
在您的处理程序中,您只需调用 $fetch
函数即可发出请求。响应将被自动解析。
Router Handler
ts
export default defineEventHandler(async (event) => {
const data = await $fetch('https://ungh.cc/orgs/unjs/repos')
return data
})
您可以将泛型类型传递给$fetch
函数以获得更好的类型推断。
Router Handler
ts
import { Repo } from '~/types'
export default defineEventHandler(async (event) => {
const data = await $fetch<Repo[]>('https://ungh.cc/orgs/unjs/repos')
return data
})
您可以将许多选项传递给$fetch
函数,如方法、标题、正文、查询等。
Router Handler
ts
import { Repo } from '~/types'
export default defineEventHandler(async (event) => {
const data = await $fetch<Repo[]>('https://api.github.com/markdown', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: {
text: 'Hello **world**!'
}
})
return data
})
有关 $fetch
函数用法的更多信息,请参阅 unjs/ofetch 文档。
In-Server fetch
您还可以使用 $fetch
函数向其他处理程序发出内部请求。
Router Handler
ts
export default defineEventHandler(async (event) => {
const data = await $fetch('/api/users')
return data
})
实际上,由于 unjs/unenv,不会发出任何获取请求,而是直接调用处理程序。这有助于避免产生 HTTP 请求开销。