文章目录
-
- -)
- 一、三大核心参数:直观区别
-
- [1. Path 参数(路径参数)](#1. Path 参数(路径参数))
- [2. Query 参数(查询参数)](#2. Query 参数(查询参数))
- [3. Body 参数(请求体参数)](#3. Body 参数(请求体参数))
- 二、一句话总结区别
- 三、接口还有哪些参数?
-
- [4. Header 参数(请求头参数)](#4. Header 参数(请求头参数))
- [5. Cookie 参数](#5. Cookie 参数)
- [6. Form 参数(表单参数)](#6. Form 参数(表单参数))
- [7. File 参数(文件参数)](#7. File 参数(文件参数))
- 四、最实用的使用规则(必看)
- 五、知识总结
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、登录态、接口版本、客户端信息。
5. Cookie 参数
位置 :请求头 Cookie 中
作用 :保持登录状态、会话
由浏览器自动携带,前端一般不用手动传。
6. Form 参数(表单参数)
位置 :请求体
格式 :key1=value1&key2=value2
作用:表单提交、文件上传
7. File 参数(文件参数)
位置 :请求体
作用 :上传图片、文件
格式:multipart/form-data
四、最实用的使用规则(必看)
你写接口时直接按这个来:
- GET 请求:只用 Path + Query
- POST/PUT:用 Path + Query + Body
- 认证/令牌:放 Header
- 密码/隐私数据:必须放 Body,绝对不能放 URL
- 文件上传:用 Form + File
五、知识总结
- Path:URL 路径里,定位资源
- Query:? 后面,查询过滤
- Body:请求体里,提交数据
- 补充:Header、Cookie、Form、File