api 设计 返回

API设计需规范状态码、数据结构和错误信息,确保响应格式统一,明确字段含义,提供完整文档说明,支持版本兼容,保障调用方解析效率与

API 设计返回规范

通用返回结构

所有 API 响应均采用统一的 JSON 结构,包含以下字段:

api 设计 返回

字段名 类型 必填 描述
status Number HTTP 状态码(如 200、400、500)
message String 状态描述(如 “OK”、”Bad Request”)
data Object 业务数据(成功时返回)
errorCode String 业务错误码(失败时返回,如 “PARAMS_ERROR”)
traceId String 请求追踪 ID(用于分布式链路追踪)

典型场景返回示例

成功响应(带数据)

{
  "status": 200,
  "message": "OK",
  "data": {
    "userId": 123,
    "username": "example_user"
  },
  "traceId": "abc-123-xyz"
}

客户端错误

{
  "status": 400,
  "message": "Invalid parameters",
  "errorCode": "PARAMS_ERROR",
  "traceId": "abc-123-xyz"
}

服务端错误

{
  "status": 500,
  "message": "Internal server error",
  "errorCode": "SERVER_ERROR",
  "traceId": "abc-123-xyz"
}

分页数据返回规范

适用于列表查询接口,需包含分页元信息:

字段名 类型 必填 描述
total Number 总记录数
pageSize Number 每页大小
pageNum Number 当前页码
list Array 当前页数据数组

示例

{
  "status": 200,
  "message": "OK",
  "data": {
    "total": 100,
    "pageSize": 10,
    "pageNum": 2,
    "list": [/* 数据项 */]
  }
}

复杂嵌套数据结构

对于多层嵌套数据,建议采用以下规范:

api 设计 返回

字段名 类型 必填 描述
results Array 主数据数组
metadata Object 附加元信息(如统计信息、关联数据)

示例

{
  "status": 200,
  "message": "OK",
  "data": {
    "results": [/* 主数据项 */],
    "metadata": {
      "totalComments": 50,
      "relatedTopics": ["topic1", "topic2"]
    }
  }
}

文件下载特殊场景

对于文件下载类接口,需通过 HTTP Header 传递元信息:

Header 属性 描述
Content-Type 根据文件类型设置(如 application/pdf
Content-Disposition 控制浏览器行为(如 attachment; filename="file.pdf"
Content-Length 文件大小(单位:字节)
X-File-Checksum 文件校验和(如 MD5)

相关问题与解答

Q1:如何区分业务错误和系统错误?

A:通过 errorCode 字段区分:

api 设计 返回

  • 业务错误errorCode 为预定义的业务逻辑错误(如 “USER_NOT_FOUND”)
  • 系统错误errorCode 为通用错误(如 “SERVER_ERROR”),且日志中会记录详细堆栈信息

Q2:分页接口是否需要返回总页数?

A:不建议直接返回总页数,原因如下:

  1. 总页数 = total / pageSize,前端可自行计算
  2. total 可能动态变化(如数据被删除)
  3. 避免接口频繁修改(如 pageSize 调整时需同步修改总页数

小伙伴们,上文介绍了“api 设计 返回”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-05-08 23:58
下一篇 2025-05-09 00:10

相关推荐

  • 服务器配对究竟是什么意思?

    服务器配对是一个涉及多个领域和技术的概念,具体含义根据应用场景的不同而有所差异,以下是几种常见的服务器配对场景及其解释: 游戏服务器匹配在多人在线游戏中,服务器配对(或称为匹配服务器)是一种用于玩家间匹配的服务器系统,它的主要作用是通过一定的算法将具有相似实力或需求的玩家匹配在一起,以便进行游戏对战、合作或其他……

    2024-11-19
    001
  • 花生壳虚拟主机怎么样?适合新手建站吗?

    在互联网服务领域,虚拟主机作为一种经济实惠的网站托管方案,受到个人用户和小型企业的青睐,许多初次接触建站的用户会关注各类低成本或免费资源,例如花生壳,并询问“花生壳有虚拟主机吗”,要明确这一问题,需先了解花生壳的核心功能及其与虚拟主机的区别,再结合实际需求分析替代方案,花生壳是什么?核心功能解析花生壳是由上海贝……

    2025-10-01
    0011
  • 虚拟主机租赁适合新手建站吗?有什么优缺点?

    虚拟主机租赁是一种常见的网站托管服务,它允许个人或企业通过租赁服务器资源来搭建和运行网站,在这种模式下,服务提供商将一台物理服务器划分为多个独立的虚拟空间,每个用户租用其中一个空间,并拥有独立的域名、FTP账号和管理权限,这种方式的成本效益较高,尤其适合中小型企业和个人站长,因为它无需承担购买和维护服务器的硬件……

    2025-09-29
    006
  • 如何根据服务器配置选择适合的参考文献样本?

    服务器配置的参考文献样本一、引言 **背景介绍 – 随着信息技术的发展,服务器配置在企业和个人网络应用中的重要性日益增加,无论是搭建网站、运行应用程序,还是存储数据,服务器的配置都直接影响系统的性能、稳定性和安全性,掌握服务器配置的基本知识和技能对于IT专业人员和网络管理员尤为重要, **目的和意义 – 本文旨……

    2024-11-18
    006

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信