编辑
2024-07-04
Node.js
00
请注意,本文编写于 217 天前,最后修改于 217 天前,其中某些信息可能已经过时。

目录

api开发-更优雅的[规范响应数据]
统一响应函数
调用方法

api开发-更优雅的[规范响应数据]

统一响应函数

node
function sendResponse(res, status, message, data = {}, error = {}) { res.json({ status: status === 200 ? 'success' : 'error', code: status, message: message, data: data, error: error }); }
node
{ "status": "success", // 描述 HTTP 响应结果:HTTP 状态响应码在 500-599 之间为”fail”,在 400-499 之间为”error”,其它均为”success” "code": 200, // 包含一个整数类型的 HTTP 响应状态码,也可以是业务描述操作码,比如 200001 表示注册成功 "message": "操作成功", // 多语言的响应描述 "data": { // 实际的响应数据 "nickname": "Joaquin Ondricka", "email": "lowe.chaim@example.org" }, "error": {} // 异常时的调试信息 }
  • 统一的数据响应格式,固定包含:code、status、data、message、error
  • 内置 Http 标准状态码支持,同时支持扩展 ResponseCodeEnum 来根据不同业务模块定义响应码
  • 响应码 code 对应描述信息 message 支持本地化,支持配置多语言
  • 合理地返回 Http 状态码
  • 根据 debug 开关,合理返回异常信息、验证异常信息等

调用方法

node
// 处理GET请求,获取用户信息 app.get('/api/sql/', async (req, res) => { const userId = req.query.id; try { const userInfo = await userModule.getUserInfo(userId); sendResponse(res, 200, "操作成功", userInfo); } catch (error) { console.error('Error fetching user info:', error); sendResponse(res, 500, "服务器错误", {}, { message: error.message }); } });

getUserInfo函数是一个SQL查询的函数,返回一个数组 将响应码 描述 数据 都通过通用操作函数来处理,达到规范化的效果

本文作者:Casear

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!