news 2026/6/9 2:32:49

RESTful 前后端传参参数格式总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RESTful 前后端传参参数格式总结

本文总结了RESTful API前后端交互的四种传参方式:路径参数(用于资源标识)、查询参数(用于筛选分页)、请求体参数(传输复杂数据)和请求头参数(处理元数据和认证)。


详细说明了各参数类型的特点、适用HTTP方法及使用场景,对比了JSON、FormData等请求体格式的优缺点,并提供了混合使用示例。


重点强调了参数选择原则:路径参数用于必需资源标识,查询参数用于可选操作,请求体用于完整数据,请求头用于元数据。


同时指出了常见误区,如避免在查询参数中传递敏感信息等,旨在帮助开发者设计更符合RESTful原则、高可读性和可维护性的API。


RESTful 前后端传参参数格式总结

参数类型传参位置格式示例常见HTTP方法特点与用途
路径参数 (Path Parameters)URL路径中/users/123
/products/2024
GET, PUT, DELETE, PATCH1. 用于标识特定资源
2. 是URL的一部分
3. 通常是必需的
4. 更符合RESTful资源定位语义
查询参数 (Query Parameters)URL问号后/users?page=1&limit=20
/search?q=keyword&sort=desc
GET1. 用于筛选、排序、分页等可选参数
2. 键值对形式,用&连接
3. 长度有限制(因浏览器而异)
4. 可缓存
请求体参数 (Body Parameters)HTTP请求体中JSON:{"name":"John", "age":30}
Form:name=John&age=30
XML:<user><name>John</name></user>
POST, PUT, PATCH1. 传输数据量大,无长度限制
2. 支持复杂数据结构
3. 不可缓存(GET方法通常不应使用)
4. 需设置Content-Type头部
请求头参数 (Header Parameters)HTTP头部Authorization: Bearer token123
Content-Type: application/json
所有方法1. 用于元数据、认证、内容协商
2. 键值对形式
3. 大小有限制(通常8KB以内)
4. 自动包含在请求中

详细说明与最佳实践

1.路径参数

  • 用途: 标识唯一资源或资源层次结构

  • 示例:DELETE /api/users/{userId}/posts/{postId}

  • Content-Type: 不适用(参数在URL中)

2.查询参数

  • 用途: 过滤、排序、分页、搜索等可选操作

  • 示例:GET /api/products?category=electronics&minPrice=100&sort=price&page=2

  • Content-Type: 不适用

3.请求体参数(常见格式对比)

格式Content-Type优点缺点适用场景
JSONapplication/json1. 数据结构清晰
2. 前端JS原生支持
3. 可读性好
1. 相比二进制格式体积稍大
2. 不支持文件上传
REST API主要推荐格式,复杂数据结构
Form Dataapplication/x-www-form-urlencoded1. 浏览器原生支持
2. 简单键值对
1. 不支持嵌套结构
2. 值需要URL编码
简单表单提交,传统Web应用
Multipartmultipart/form-data1. 支持文件上传
2. 可混合文本和文件
1. 格式复杂
2. 体积较大
文件上传,包含文件的表单
XMLapplication/xml1. 严格的数据结构
2. 丰富的元数据支持
1. 冗长,体积大
2. 解析复杂
传统企业系统,SOAP API

4.混合使用示例

# 认证令牌在头部,ID在路径,分页在查询,更新数据在请求体 PUT /api/users/123/orders?notify=true Authorization: Bearer xyz789 Content-Type: application/json { "status": "shipped", "trackingNumber": "TRK123456" }

选择原则总结

  1. 路径参数: 用于必须的资源标识

  2. 查询参数: 用于可选的过滤、排序等

  3. 请求体: 用于创建/更新资源的完整数据

  4. 请求头: 用于元数据认证信息


常见误区避免

  • ❌ 用查询参数传递敏感信息(会在日志、浏览器历史中暴露)

  • ❌ GET请求使用请求体传递参数(不符合HTTP语义,且可能不被支持)

  • ❌ 路径参数用于可选信息(会改变资源标识)

  • ✅ 保持参数位置的一致性(同类型参数总在相同位置)


这种传参结构设计能够使API更符合RESTful原则,提高可读性、可维护性和缓存效率。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 4:47:56

【计算机毕设】python基于模板的药品名称识别系统

&#x1f49f;博主&#xff1a;程序员小俊&#xff1a;CSDN作者、博客专家、全栈领域优质创作者 &#x1f49f;专注于计算机毕业设计&#xff0c;大数据、深度学习、Java、小程序、python、安卓等技术领域 &#x1f4f2;文章末尾获取源码数据库 &#x1f308;还有大家在毕设选题…

作者头像 李华
网站建设 2026/6/2 20:12:20

Rubin“零线缆”液冷模组技术介绍

“Rubin‘零线缆’液冷模组”是英伟达&#xff08;NVIDIA&#xff09;在其最新发布的Rubin架构中引入的一项重要技术创新。 1. 技术核心 核心点是零线缆&#xff08;Cableless&#xff09;液冷设计 传统问题是传统数据中心GPU的液冷系统需要大量管线、接头和外部泵组&#xf…

作者头像 李华
网站建设 2026/5/29 0:26:14

AI 正在杀死的不是手写代码的技能,而是你的肌肉记忆

如何在 AI 工具的加持下有意识培养出自己的肌肉记忆&#xff0c;形成比较好的品位&#xff0c;这对未来的每个人来说都是一个非常重要的课题&#xff0c;咱们后面针对这个话题接着聊。对此你有什么看法&#xff1f; 最近 Redis 之父 Antirez 写了篇博客&#xff0c;标题很直白…

作者头像 李华
网站建设 2026/6/6 4:09:22

不只是大模型:全球工业智能体排名与格局

当“工业大模型”仍在被反复讨论时&#xff0c;真正开始进入生产系统、参与决策并产生结果的&#xff0c;已经是另一类角色——工业智能体&#xff08;Industrial AI Agent&#xff09;。它们不再停留在预测、分析或建议层&#xff0c;而是以目标为导向&#xff0c;持续感知工业…

作者头像 李华