Qoder如何设计Node.js接口请求和返回格式?

陌萱姑娘_3474

陌萱姑娘_3474

2026-08-07

591人浏览

原创

node.js接口需规范请求参数接收、响应格式与错误处理:路径参数用req.params、查询参数用req.query、json数据经body-parser解析后从req.body读取;成功响应统一为{code:0,message:"ok",data:{}}结构;错误响应推荐用qoder内置errorhandler中间件捕获error实例并转为标准格式。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

qoder如何设计node.js接口请求和返回格式? - php中文网

设计Node.js接口请求和返回格式,核心是让前端能稳定解析、后端逻辑清晰可维护、错误可定位。Qoder在快马平台生成的Node.js项目默认采用Express框架,其请求处理和响应结构有明确约定,不按规范会导致前端收不到数据或解析失败。

请求参数接收方式

第一步:区分参数来源——URL路径参数、查询字符串(query)、请求体(body)必须用不同方法取值。

路径参数用req.params,比如/user/:id中的:id;查询参数用req.query,如?page=1&limit=10;POST/PUT请求的JSON数据必须经body-parser中间件解析后才能从req.body读取。

注意:【未配置body-parser时req.body永远是undefined】,快马平台虽默认启用,但若手动删了依赖或改了中间件顺序,就会卡在这一步。

第二步:对req.body做基础校验。例如用户注册接口收到{"email":"a@b.com","password":"123"},需检查email是否含@、password长度是否≥6。Qoder生成的模板里已预留validateInput函数入口,直接填入校验逻辑即可。

标准JSON响应格式

所有成功响应统一用res.json(),禁止混用res.send()res.status(200).send()

返回结构固定为:{ "code": 0, "message": "ok", "data": { ... } }。其中code为数字型状态码(0表示成功),message是人类可读提示,data字段只在有业务数据时存在且必须为对象或数组——不能是字符串、布尔值或null。

示例:获取用户列表应返回{"code":0,"message":"ok","data":[{"id":1,"name":"张三"}]},而非{"users":[{"id":1}]}这种无统一外壳的格式。

错误响应统一处理

方法一:全局错误中间件拦截

在Express应用末尾添加app.use((err, req, res, next) => { res.status(500).json({ code: -1, message: err.message || '服务器内部错误', data: null }); });。此方式覆盖未被捕获的异常,但无法区分400/401/403等业务错误。

VS Code Node
VS Code Node

通过作为 OpenClaw 节点连接的 VS Code/Cursor IDE 操作代码,提供 40 多种命令,涵盖文件操作、语言智能、Git、测试等功能。

下载

方法二:主动抛出自定义错误并由中间件捕获

在路由处理函数中写if (!user) throw new Error('用户不存在');,再配合Qoder快马平台内置的errorHandler中间件,它会自动将new Error('xxx')转成{"code":404,"message":"用户不存在","data":null}。该中间件已预置,无需额外安装。

【抛出Error实例而非字符串,否则中间件无法识别HTTP状态码】

方法三:显式返回特定状态码

登录失败时直接写return res.status(401).json({ code: 401, message: '密码错误', data: null });。这种方式最直白,适合简单场景,但重复代码多。Qoder模板中已封装sendError(res, 401, '密码错误')工具函数,推荐调用。

JWT认证请求头规范

第一步:前端必须在HTTP请求头携带Authorization: Bearer <token></token>,空格不可省略,Bearer首字母大写。

第二步:后端验证中间件提取token时,会自动截取Bearer 后的内容。快马平台生成的authMiddleware.js已实现此逻辑,无需改动。

第三步:验证失败必须返回401 Unauthorized状态码,且响应体格式仍遵循{code:401,message:"未授权",data:null}。Qoder的JWT中间件默认触发此行为。

第四步:刷新令牌(refresh token)需单独设计接口,如POST /auth/refresh,接收{ "refreshToken": "xxx" },返回新accessToken和过期时间。该接口不校验Authorization头,而是从req.body读取refreshToken。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

2023.09.19

8509

8

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

2025.11.26

354

14

Node.js后端开发与Express框架实践
Node.js后端开发与Express框架实践

本专题针对初中级 Node.js 开发者,系统讲解如何使用 Express 框架搭建高性能后端服务。内容包括路由设计、中间件开发、数据库集成、API 安全与异常处理,以及 RESTful API 的设计与优化。通过实际项目演示,帮助开发者快速掌握 Node.js 后端开发流程。

2026.02.10

721

17

JavaScript Node.js流处理与高效数据管道构建实践
JavaScript Node.js流处理与高效数据管道构建实践

本专题聚焦 Node.js 在大规模数据处理场景中的应用,系统讲解 Stream 流机制、背压控制、管道(Pipe)处理以及文件与网络数据流的高效传输方式。内容包括可读流、可写流、双工流与转换流的实现原理,并结合实际案例构建高性能数据处理管道,帮助开发者提升数据处理效率与系统吞吐能力。

2026.04.07

264

13

TypeScript Node.js 全栈工程化与Monorepo架构实践
TypeScript Node.js 全栈工程化与Monorepo架构实践

本专题围绕 TypeScript 在 Node.js 全栈开发中的工程化实践展开,系统讲解 Monorepo 架构设计、包管理策略、模块复用机制以及服务端与前端统一类型系统的构建方法。通过真实项目案例,帮助开发者提升大型全栈项目的可维护性与协作效率。

2026.06.16

438

8

node.js调试
node.js调试

node.js调试可以使用console.log()输出调试信息、断点调试和第三方调试工具。详细介绍:1、console.log()输出调试信息,通过在代码中插入console.log()语句,开发人员可以在控制台输出变量的值、函数的执行结果等信息,以便观察代码的执行流程和状态;2、断点调试,可以在代码中设置断点,以便在特定位置暂停代码的执行,观察变量的值和执行流程等。

2023.09.19

8509

8

JavaScript 全栈开发基础(Node.js + 前端)
JavaScript 全栈开发基础(Node.js + 前端)

本专题系统介绍 JavaScript 在全栈开发中的核心知识结构,涵盖 Node.js 基础、Express/Koa 接口构建、前端交互设计、模块化与包管理、数据库连接、前后端数据通信与部署流程。通过完整项目示例,帮助学习者掌握从浏览器到服务器的一体化开发能力,实现真正意义上的全栈入门。

2025.11.26

354

14

Node.js后端开发与Express框架实践
Node.js后端开发与Express框架实践

本专题针对初中级 Node.js 开发者,系统讲解如何使用 Express 框架搭建高性能后端服务。内容包括路由设计、中间件开发、数据库集成、API 安全与异常处理,以及 RESTful API 的设计与优化。通过实际项目演示,帮助开发者快速掌握 Node.js 后端开发流程。

2026.02.10

721

17

JavaScript Node.js流处理与高效数据管道构建实践
JavaScript Node.js流处理与高效数据管道构建实践

本专题聚焦 Node.js 在大规模数据处理场景中的应用,系统讲解 Stream 流机制、背压控制、管道(Pipe)处理以及文件与网络数据流的高效传输方式。内容包括可读流、可写流、双工流与转换流的实现原理,并结合实际案例构建高性能数据处理管道,帮助开发者提升数据处理效率与系统吞吐能力。

2026.04.07

264

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
WEB前端教程【HTML5+CSS3+JS】
WEB前端教程【HTML5+CSS3+JS】

共101课时 | 20.4万人学习

JS进阶与BootStrap学习
JS进阶与BootStrap学习

共39课时 | 4.6万人学习