You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt3 server/api中如何判断请求方法并统一获取请求数据?

解决Nuxt服务器路由中无法获取请求方法的问题

你在/server/api/test.ts中尝试通过event.context.method判断请求方法,但这个属性并不存在,所以返回了undefined。请求方法实际上直接挂载在event对象的method属性上,并且值为大写的HTTP方法名(比如'GET'、'POST')。

修正后的代码如下:

export default defineEventHandler(async (event) => {
    let req = null
    
    if (event.method === 'GET') {
        req = getQuery(event)
    } else if (event.method === 'POST') {
        req = await readBody(event)
    }
    console.log("▼ req ▼", req);
    // 后续业务逻辑...
})

补充说明:

  • event.method是Nuxt服务器路由中获取请求方法的正确方式,符合HTTP规范。
  • 如果需要兼容更多请求方法(如PUT、DELETE),可以扩展条件判断逻辑。
  • getQuery(event)和readBody(event)是Nuxt提供的内置工具函数,分别用于获取GET请求的URL查询参数、异步读取POST/PUT等请求的请求体内容,你的使用方式是正确的。

内容的提问来源于stack exchange,提问作者Lawyer Kenny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 01:50:32