Hidewnd Docs Hidewnd Docs
首页
  • 常用开发环境
  • 常用提示词
  • 常用Linux命令
  • 常用Git规范及命令
  • Java开发聊天机器人
  • word模板生成实现方案
  • 基于Go写一个极简的通讯demo
  • SpringBoot配置文件加密处理
  • SpringBoot优雅的抛出业务异常
  • 通用大模型适配器
  • 10分钟快速搭建个人博客
  • [学习笔记]Lua
  • [学习笔记]JVM
  • [学习笔记]设计模式
  • [部署笔记]搭建Typecho博客
  • [部署笔记]部署Qsign签名机
  • [部署笔记]安装PVE系统
  • [部署笔记]部署KingBaseV9电科金仓
  • 技艺成本
  • Rules
  • Setting
  • Skill
  • 剑三网站合集
  • 合并大区角色数据处理
  • 25PT冷龙峰教学笔记
  • 25PT太极宫教学笔记
  • 25PT弓月城教学笔记
关于
GitHub (opens new window)
首页
  • 常用开发环境
  • 常用提示词
  • 常用Linux命令
  • 常用Git规范及命令
  • Java开发聊天机器人
  • word模板生成实现方案
  • 基于Go写一个极简的通讯demo
  • SpringBoot配置文件加密处理
  • SpringBoot优雅的抛出业务异常
  • 通用大模型适配器
  • 10分钟快速搭建个人博客
  • [学习笔记]Lua
  • [学习笔记]JVM
  • [学习笔记]设计模式
  • [部署笔记]搭建Typecho博客
  • [部署笔记]部署Qsign签名机
  • [部署笔记]安装PVE系统
  • [部署笔记]部署KingBaseV9电科金仓
  • 技艺成本
  • Rules
  • Setting
  • Skill
  • 剑三网站合集
  • 合并大区角色数据处理
  • 25PT冷龙峰教学笔记
  • 25PT太极宫教学笔记
  • 25PT弓月城教学笔记
关于
GitHub (opens new window)
  • Cursor
  • Rules

    • caching-and-distributed-lock
    • database-entity-annotations
    • design-patterns
    • idempotency-specification
    • java-21-language-specification
    • java-clean-code-effective-java-spec
    • java-entity-vo-specification
    • java-language-specification
    • logging-specification
    • openapi-and-api-doc-spec
    • persistence-repository-specification
    • rest-api-specification
      • 路径与资源命名
      • HTTP 方法约定
      • 状态码使用
      • 统一返回体结构
      • 分页、排序与过滤约定
      • 幂等性与安全性
    • springboot-architecture-layering
    • springboot-config-and-profiles
    • springboot-exception-and-error-code
    • springboot-testing-specification
    • validation-specification
  • Setting

  • Skill

  • Cursor
  • Rules
hidewnd
目录

REST API 设计与统一返回体规范

# REST API 设计与统一返回体规范

# 路径与资源命名

  • 使用名词复数形式表示资源,例如 /users、/orders
  • 使用层级关系表达资源从属关系,例如 /users/{id}/orders
  • 避免在路径中加入动词,动作由 HTTP 方法表达

# HTTP 方法约定

  • GET:查询资源或资源集合
  • POST:创建资源或触发非幂等操作
  • PUT:整体更新资源
  • PATCH:部分更新资源
  • DELETE:删除资源

# 状态码使用

  • 200:请求成功,返回正常数据
  • 201:资源创建成功
  • 204:请求成功但无返回体
  • 400:请求参数错误或校验失败
  • 401:未认证
  • 403:无权限
  • 404:资源不存在
  • 409:资源冲突
  • 500:服务器内部错误

# 统一返回体结构

  • 统一返回 JSON 结构:
{
  "code": "0",
  "msg": "操作成功",
  "data": {}
}
1
2
3
4
5
  • code:业务状态码,字符串类型
  • msg:对用户或调用方友好的提示信息
  • data:业务数据载体,无数据时可以为 null 或省略

# 分页、排序与过滤约定

  • 分页参数统一为 page 与 size,从一开始计数
  • 排序参数统一为 sort,格式为 field,asc 或 field,desc
  • 过滤条件通过查询参数表达,命名清晰表达字段含义

# 幂等性与安全性

  • 对外暴露的写操作接口在设计时优先考虑幂等性
  • 接口入参与出参对象中不返回敏感字段
  • 在接口层统一校验权限与认证信息
persistence-repository-specification
springboot-architecture-layering

← persistence-repository-specification springboot-architecture-layering→

github
Theme by Vdoing | Copyright © 2024-2026 Hidewnd
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式