接口参数:Query、Body、Path 区别 + 完整参数类型

文章目录

Query、Body、Path 是HTTP 接口最核心的三种参数,我用最清晰、最实用的方式给你讲清楚区别、用法,还会补充所有常用参数类型。

-

一、三大核心参数:直观区别

先看位置 + 用途 + 示例,一眼分清:

1. Path 参数(路径参数)

位置 :直接写在 URL 路径里
格式/user/{id} /order/123
作用定位资源 (必须有,不能为空)
示例

复制代码
GET /users/1001

这里 1001 就是 path 参数,代表用户ID。

特点

  • 必须传,不能为空
  • 用于唯一标识资源
  • 不能有特殊字符(会被转义)
  • 只适合少量、简短参数

2. Query 参数(查询参数)

位置 :URL 问号后面
格式?key=value&key2=value2
作用过滤、排序、分页、查询
示例

复制代码
GET /users?page=1&size=10&gender=male

特点

  • 可传可不传
  • 明文显示在地址栏
  • 适合简单、少量参数
  • GET/POST 都能用

3. Body 参数(请求体参数)

位置 :请求体里(URL 看不到)
格式 :JSON、表单、文件等
作用提交大量数据 / 敏感数据
示例

复制代码
POST /users
Body:
{
  "name": "张三",
  "age": 20,
  "password": "123456"
}

特点

  • 数据不显示在URL,更安全
  • 可传大量、复杂数据
  • 主要用于 POST / PUT / PATCH
  • 不推荐 GET 使用(很多框架不支持)

二、一句话总结区别

参数类型 位置 用途 安全性 数据量
Path URL 路径中 定位资源 低(可见)
Query URL ? 后面 查询/过滤 低(可见)
Body 请求体内 提交数据 较高

最简单记忆法

  • 找资源用 Path
  • 查数据用 Query
  • 提交数据用 Body

三、接口还有哪些参数?

除了上面三个,还有4 种高频参数

4. Header 参数(请求头参数)

位置 :请求头里
作用授权、版本、令牌、认证
示例

复制代码
Authorization: Bearer token123
Content-Type: application/json

常用场景:token、登录态、接口版本、客户端信息。


位置 :请求头 Cookie 中
作用保持登录状态、会话

由浏览器自动携带,前端一般不用手动传。


6. Form 参数(表单参数)

位置 :请求体
格式key1=value1&key2=value2
作用:表单提交、文件上传


7. File 参数(文件参数)

位置 :请求体
作用 :上传图片、文件

格式:multipart/form-data


四、最实用的使用规则(必看)

你写接口时直接按这个来:

  1. GET 请求:只用 Path + Query
  2. POST/PUT:用 Path + Query + Body
  3. 认证/令牌:放 Header
  4. 密码/隐私数据:必须放 Body,绝对不能放 URL
  5. 文件上传:用 Form + File

五、知识总结

  • Path:URL 路径里,定位资源
  • Query:? 后面,查询过滤
  • Body:请求体里,提交数据
  • 补充:Header、Cookie、Form、File
相关推荐
还是大剑师兰特1 天前
RESTful 接口 + 实际开发通用规范
restful·大剑师
还是大剑师兰特2 天前
EventBus核心方法用法
javascript·vue.js·大剑师
还是大剑师兰特2 天前
vite-plugin-svg-icons作用详解
大剑师·svg-icons
还是大剑师兰特3 天前
vitejs/plugin-legacy 作用与使用方法
vite·大剑师
还是大剑师兰特5 天前
gzip,brotliCompress,deflate三种压缩算法对比,vue3最适合用哪种
大剑师·压缩算法
还是大剑师兰特15 天前
Stats.js 插件详解及示例(完全攻略)
前端·大剑师·stats
还是大剑师兰特20 天前
Vue3 权限系统(Pinia + 登录接口 + 权限刷新 + 路由守卫 )
大剑师
还是大剑师兰特20 天前
Pinia在Vue3中的应用部署与使用,包括持久化方案
pinia·大剑师
还是大剑师兰特21 天前
Vue3 全局公共函数完整方案(创建、挂载、引用、使用)
大剑师·全局函数