RESTful 接口 + 实际开发通用规范

文章目录

下面这份是RESTful 接口 + 实际开发通用规范,直接照着用就行,清晰不踩坑。

接口方法与参数使用速查表

1. GET(查询、获取资源)

用途 :获取列表、详情、搜索、分页
允许参数

  • ✅ Path 参数(必须)
  • ✅ Query 参数(筛选、分页、排序)
  • ✅ Header 参数(token、版本)
  • ❌ 禁止 Body 参数(很多服务器/框架不支持)
  • ❌ 禁止敏感参数(密码、密钥)

示例

复制代码
GET /users/123
GET /orders?status=paid&page=1&size=10

2. POST(新增资源、提交表单)

用途 :创建、注册、登录、提交数据
允许参数

  • ✅ Path 参数(可选)
  • ✅ Query 参数(少量附加参数)
  • ✅ Body 参数(主要数据放这里
  • ✅ Header 参数
  • ✅ Form-data / x-www-form-urlencoded

示例

复制代码
POST /users
Body: { name, phone, password }

3. PUT(全量更新资源)

用途 :替换整个资源(覆盖更新)
允许参数

  • ✅ Path 参数(必须,指定要更新的资源 ID)
  • ✅ Query 参数(极少用)
  • ✅ Body 参数(完整更新数据)
  • ✅ Header

示例

复制代码
PUT /users/123
Body: { name: "新名字", age: 25 }

4. PATCH(局部更新资源)

用途 :只改某几个字段(如改昵称、改状态)
允许参数

  • ✅ Path 参数(必须
  • ✅ Body 参数(只传要改的字段)
  • ✅ Header

示例

复制代码
PATCH /users/123
Body: { nickname: "新昵称" }

5. DELETE(删除资源)

用途 :删除单个/批量资源
允许参数

  • ✅ Path 参数(必须,删谁)
  • ✅ Query 参数(可选附加条件)
  • ✅ Header
  • ❌ 尽量不要 Body(规范不推荐)

示例

复制代码
DELETE /users/123

极简记忆版(面试/写代码直接背)

  • GET:Path + Query
  • POST:Path + Body(主)
  • PUT:Path + Body(全量)
  • PATCH:Path + Body(局部)
  • DELETE:Path(为主)

安全与规范小规则

  1. 密码、token、密钥 → 一律放 Header 或 Body,绝不放 URL
  2. 文件上传 → 必须 POST + form-data
  3. 列表查询 → 只用 Query
  4. 操作某个具体资源 → 必须用 Path 带 ID
  5. GET 永远不修改数据,只查询
相关推荐
一线大码10 天前
Smart-Doc 的简单使用
java·后端·restful
摇滚侠11 天前
SpringMVC 入门到实战 RESTFul 49-55
java·开发语言·后端·spring·intellij-idea·restful
摇滚侠11 天前
SpringMVC 入门到实战 RESTFul 案例 56-63
java·开发语言·后端·spring·restful
糖果店的幽灵13 天前
软件测试接口测试从入门到精通:RESTful API设计规范
软件测试·后端·接口测试·restful·设计规范·api设计
七夜zippoe13 天前
DolphinDB HTTP API接入:RESTful数据推送
网络协议·http·api·restful·dolphindb
meilindehuzi_a14 天前
构建基于 RESTful 架构的 TodoList 全栈应用:从前后端理论到 TypeScript/Bun 实战
架构·typescript·restful
MageGojo14 天前
用 Node.js 把聚合 API 平台封装成零依赖命令行工具:registry 驱动的工程实践
node.js·restful·api接口·命令行工具·cli
YHHLAI15 天前
从零搭建一个 RESTful Todo 服务 —— Bun + TypeScript 全栈最小闭环
后端·typescript·restful
想要成为糕糕手15 天前
RESTful Todo 任务清单 —— 从零学习前后端
api·restful·bun
AIFQuant16 天前
全球行情自动更新、多品种展示、性能优化实战指南
python·性能优化·金融·node.js·restful