我在
/server/api/test.ts
中创建了一个文件。我尝试的是“event.context.method”。这将返回未定义。
export default defineEventHandler(async (event) => {
let req = null
if (event.context.method == 'get'){ // event.context.method return undefined!
req = getQuery(event)
} else{
req = await readBody(event)
}
console.log( "▼ req ▼", req );
...
}
尝试下面的代码。
export default defineEventHandler(async (event) => {
let req = null
if (event.req.method === 'GET') {
req = getQuery(event)
} else {
req = await readBody(event)
}
console.log("▼ method ▼", event.req.method);
console.log("▼ req ▼", req);
})
仅供将来参考(我是通过谷歌搜索到达这里的):
接受的答案似乎不再合适了,因为
event.req
已被弃用。*.get.ts
以仅处理 GET 请求。
这是 Nuxt 文档中的相关哈希:
https://nuxt.com/docs/guide/directory-struct/server#matching-http-method
由于它在底层使用 Nitro,所以这些文档也是相关的:
https://ninto.unjs.io/guide/routing#special-request-method