news 2026/4/16 16:26:45

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/4/16 16:10:58

学长亲荐!巅峰之作的AI论文软件 —— 千笔·专业论文写作工具

你是否曾为论文选题而焦虑&#xff1f;是否在深夜里对着空白文档发愁&#xff1f;是否反复修改却总对表达不满意&#xff1f;论文写作的每一步都像一场持久战&#xff0c;从开题到查重&#xff0c;每一个环节都让人倍感压力。如果你也在经历这些学术写作的困扰&#xff0c;那么…

作者头像 李华
网站建设 2026/4/16 10:11:29

面试官:说一下Nacos、OpenFeign、Ribbon、loadbalancer组件协调工作原理

前几天有个大兄弟问了我一个问题&#xff0c;注册中心要集成SpringCloud&#xff0c;想实现SpringCloud的负载均衡&#xff0c;需要实现哪些接口和规范。 既然这个兄弟问到我了&#xff0c;而我又刚好知道&#xff0c;这不得好好写一篇文章来回答这个问题&#xff0c;虽然在后面…

作者头像 李华
网站建设 2026/4/16 14:02:42

【课程设计/毕业设计】基于SSM二手物品交易网站系统商品发布、订单处理与分类检索【附源码、数据库、万字文档】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/3 3:17:48

SSM毕设选题推荐:基于ssm框架开发的二手物品交易平台网站系统基于SSM二手物品交易网站系统【附源码、mysql、文档、调试+代码讲解+全bao等】

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/16 12:57:49

SSM计算机毕设之基于SSM的酒店前台接待、客房管理、餐饮服务一线式酒店管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华