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

配置正确仍遇Serverless Offline路由未找到错误求助

解决方案

核心问题1:路径配置重复stage前缀

你的serverless.yml中http事件的path设置为/dev/login,但provider已经指定了stage: dev,serverless-offline会自动将stage作为路径前缀添加到端点中,这就导致实际生成的路由是/dev/dev/login,而你访问的http://localhost:3000/dev/login自然会提示"route not found"。

修改serverless.yml中的http路径配置,去掉重复的/dev前缀:

functions:
  login:
    handler: login.handler
    events:
      - http:
          path: login  # 改为login,去掉/dev前缀
          method: get
          cors: true

修改后重启serverless-offline,此时正确的访问路径就是http://localhost:3000/dev/login。

核心问题2:GET方法不适合处理带请求体的登录逻辑

你的handler代码中尝试解析event.body获取用户名和密码,但GET请求通常不会携带请求体,浏览器或工具发送GET请求时,event.body会是undefined,执行JSON.parse(event.body)会直接抛出错误。建议将登录接口的HTTP方法改为POST:

修改serverless.yml中的method:

functions:
  login:
    handler: login.handler
    events:
      - http:
          path: login
          method: post  # 改为post
          cors: true

同时测试时使用POST请求,将用户名密码放在请求体中发送。

验证步骤

  1. 保存修改后的serverless.yml
  2. 停止当前serverless-offline进程,重新执行serverless offline start
  3. 查看控制台输出的路由列表,确认POST /dev/login已正确注册
  4. 使用POST工具(如Postman、curl)发送请求到http://localhost:3000/dev/login,请求体携带{"username":"xxx","password":"xxx"}

内容的提问来源于stack exchange,提问作者Haris Ali Mughal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:42:50